v3: remove repository.last_build

This commit is contained in:
Konstantin Haase 2015-10-08 19:01:03 +02:00
parent 9bdc7b496e
commit 4cc50009aa
5 changed files with 3 additions and 88 deletions

View File

@ -3,7 +3,7 @@ require 'travis/api/v3/renderer/model_renderer'
module Travis::API::V3
class Renderer::Repository < Renderer::ModelRenderer
representation(:minimal, :id, :name, :slug)
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :last_build, :default_branch)
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :default_branch)
def active
!!model.active
@ -51,26 +51,5 @@ module Travis::API::V3
def owner_type
@owner_type ||= model.owner_type.downcase if model.owner_type
end
def last_build
return nil unless model.last_build_id
return model.last_build if include_last_build?
{
:@type => 'build'.freeze,
:@href => Renderer.href(:build, script_name: script_name, id: model.last_build_id),
:id => model.last_build_id,
:number => model.last_build_number,
:state => model.last_build_state.to_s,
:duration => model.last_build_duration,
:started_at => model.last_build_started_at,
:finished_at => model.last_build_finished_at,
}
end
def include_last_build?
return true if include? 'repository.last_build'.freeze
return true if include.any? { |i| i.start_with? 'build.'.freeze }
return true if included.any? { |i| i.is_a? Models::Build and i.id == model.last_build_id }
end
end
end

View File

@ -56,7 +56,6 @@ describe Travis::API::V3::Services::Owner::Find do
"github_language" => nil,
"active" => false,
"private" => false,
"last_build" => nil,
"owner" => { "@href"=> "/v3/org/#{org.id}" },
"default_branch" => {
"@type" => "branch",
@ -101,7 +100,6 @@ describe Travis::API::V3::Services::Owner::Find do
"github_language" => nil,
"active" => false,
"private" => false,
"last_build" => nil,
"owner" => { "@href"=> "/v3/org/#{org.id}" },
"default_branch" => {
"@type" => "branch",

View File

@ -39,15 +39,6 @@ describe Travis::API::V3::Services::Owner::Repositories do
"id" => repo.owner_id,
"login" => "svenfuchs",
"@href" => "/v3/user/#{repo.owner_id}" },
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build_id,
"number" => "2",
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",

View File

@ -39,15 +39,6 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
"@href" => "/v3/user/#{repo.owner_id}",
"id" => repo.owner_id,
"login" => "svenfuchs" },
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build_id}",
"id" => repo.last_build_id,
"number" => "2",
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",

View File

@ -47,15 +47,6 @@ describe Travis::API::V3::Services::Repository::Find do
"login" => "svenfuchs",
"@type" => "user",
"@href" => "/v3/user/#{repo.owner_id}"},
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build_id}",
"id" => repo.last_build_id,
"number" => "2",
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",
@ -130,15 +121,6 @@ describe Travis::API::V3::Services::Repository::Find do
"login" => "svenfuchs",
"@type" => "user",
"@href" => "/v3/user/#{repo.owner_id}"},
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build_id}",
"id" => repo.last_build_id,
"number" => "2",
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",
@ -198,15 +180,6 @@ describe Travis::API::V3::Services::Repository::Find do
"login" => "svenfuchs",
"@type" => "user",
"@href" => "/v3/user/#{repo.owner_id}"},
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build_id}",
"id" => repo.last_build_id,
"number" => "2",
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",
@ -272,15 +245,6 @@ describe Travis::API::V3::Services::Repository::Find do
"login" => "svenfuchs",
"@type" => "user",
"@href" => "/v3/user/#{repo.owner_id}"},
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build_id}",
"id" => repo.last_build_id,
"number" => "2",
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",
@ -299,11 +263,9 @@ describe Travis::API::V3::Services::Repository::Find do
)}
end
describe "including full owner and full last build" do
before { get("/v3/repo/#{repo.id}?include=repository.owner,repository.last_build") }
describe "including full owner" do
before { get("/v3/repo/#{repo.id}?include=repository.owner") }
example { expect(last_response).to be_ok }
example { expect(parsed_body['last_build']['state']).to be == 'passed' }
example { expect(parsed_body['last_build']['repository']).to be == { "@href" => "/v3/repo/#{repo.id}" } }
example { expect(parsed_body['owner']).to include("github_id", "is_syncing", "synced_at")}
end
@ -326,10 +288,4 @@ describe Travis::API::V3::Services::Repository::Find do
"error_message" => "illegal format for include parameter"
}}
end
describe "including nested objects" do
before { get("/v3/repo/#{repo.id}?include=repository.last_build,build.branch") }
example { expect(last_response).to be_ok }
example { expect(parsed_body).to include("last_build") }
end
end