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
|
module Travis::API::V3
|
||||||
class Renderer::Repository < Renderer::ModelRenderer
|
class Renderer::Repository < Renderer::ModelRenderer
|
||||||
representation(:minimal, :id, :name, :slug)
|
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
|
def active
|
||||||
!!model.active
|
!!model.active
|
||||||
|
@ -51,26 +51,5 @@ module Travis::API::V3
|
||||||
def owner_type
|
def owner_type
|
||||||
@owner_type ||= model.owner_type.downcase if model.owner_type
|
@owner_type ||= model.owner_type.downcase if model.owner_type
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
|
@ -56,7 +56,6 @@ describe Travis::API::V3::Services::Owner::Find do
|
||||||
"github_language" => nil,
|
"github_language" => nil,
|
||||||
"active" => false,
|
"active" => false,
|
||||||
"private" => false,
|
"private" => false,
|
||||||
"last_build" => nil,
|
|
||||||
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
|
@ -101,7 +100,6 @@ describe Travis::API::V3::Services::Owner::Find do
|
||||||
"github_language" => nil,
|
"github_language" => nil,
|
||||||
"active" => false,
|
"active" => false,
|
||||||
"private" => false,
|
"private" => false,
|
||||||
"last_build" => nil,
|
|
||||||
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
|
|
|
@ -39,15 +39,6 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
||||||
"id" => repo.owner_id,
|
"id" => repo.owner_id,
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}" },
|
"@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" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@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}",
|
"@href" => "/v3/user/#{repo.owner_id}",
|
||||||
"id" => repo.owner_id,
|
"id" => repo.owner_id,
|
||||||
"login" => "svenfuchs" },
|
"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" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
|
|
|
@ -47,15 +47,6 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@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" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
|
@ -130,15 +121,6 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@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" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
|
@ -198,15 +180,6 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@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" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
|
@ -272,15 +245,6 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@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" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
|
@ -299,11 +263,9 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "including full owner and full last build" do
|
describe "including full owner" do
|
||||||
before { get("/v3/repo/#{repo.id}?include=repository.owner,repository.last_build") }
|
before { get("/v3/repo/#{repo.id}?include=repository.owner") }
|
||||||
example { expect(last_response).to be_ok }
|
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")}
|
example { expect(parsed_body['owner']).to include("github_id", "is_syncing", "synced_at")}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -326,10 +288,4 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"error_message" => "illegal format for include parameter"
|
"error_message" => "illegal format for include parameter"
|
||||||
}}
|
}}
|
||||||
end
|
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
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user