v3: remove repository.last_build
This commit is contained in:
parent
9bdc7b496e
commit
4cc50009aa
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user