v3: expose build.previous_state

This commit is contained in:
Konstantin Haase 2015-04-30 16:25:14 +02:00
parent ae7de12bec
commit fb8e6825db
5 changed files with 284 additions and 277 deletions

View File

@ -2,7 +2,7 @@ require 'travis/api/v3/renderer/model_renderer'
module Travis::API::V3
class Renderer::Build < Renderer::ModelRenderer
representation(:minimal, :id, :number, :state, :duration, :event_type, :started_at, :finished_at)
representation(:minimal, :id, :number, :state, :duration, :event_type, :previous_state, :started_at, :finished_at)
representation(:standard, *representations[:minimal], :repository, :branch)
end
end

View File

@ -8,23 +8,24 @@ describe Travis::API::V3::Services::Repository::Find do
before { get("/v3/repo/#{repo.id}/branch/master") }
example { expect(last_response).to be_ok }
example { expect(JSON.load(body)).to be == {
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",
"name" => "master",
"repository" => {
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"id" => repo.id,
"slug" => "svenfuchs/minimal"},
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}
"@type" => "branch",
"@href" => "/v3/repo/#{repo.id}/branch/master",
"name" => "master",
"repository" => {
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"id" => repo.id,
"slug" => "svenfuchs/minimal"},
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}
end
end

View File

@ -13,51 +13,52 @@ describe Travis::API::V3::Services::Owner::Repositories do
before { get("/v3/owner/svenfuchs/repos", {}, headers) }
example { expect(last_response).to be_ok }
example { expect(JSON.load(body)).to be == {
"@type" => "repositories",
"@href" => "/v3/owner/svenfuchs/repos",
"repositories" => [{
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => false,
"disable" => false,
"create_request"=> false},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}]
"@type" => "repositories",
"@href" => "/v3/owner/svenfuchs/repos",
"repositories" => [{
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => false,
"disable" => false,
"create_request" => false},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}]
}}
end

View File

@ -13,51 +13,52 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
before { get("/v3/repos", {}, headers) }
example { expect(last_response).to be_ok }
example { expect(JSON.load(body)).to be == {
"@type" => "repositories",
"@href" => "/v3/repos",
"repositories" => [{
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => true,
"disable" => true,
"create_request"=> true},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}]
"@type" => "repositories",
"@href" => "/v3/repos",
"repositories" => [{
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => true,
"disable" => true,
"create_request" => true},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}]
}}
end

View File

@ -8,48 +8,49 @@ describe Travis::API::V3::Services::Repository::Find do
before { get("/v3/repo/#{repo.id}") }
example { expect(last_response).to be_ok }
example { expect(parsed_body).to be == {
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => false,
"disable" => false,
"create_request"=> false},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => false,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => false,
"disable" => false,
"create_request" => false},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => false,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
@ -99,48 +100,49 @@ describe Travis::API::V3::Services::Repository::Find do
after { repo.update_attribute(:private, false) }
example { expect(last_response).to be_ok }
example { expect(parsed_body).to be == {
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => false,
"disable" => false,
"create_request"=> false},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => false,
"disable" => false,
"create_request" => false},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
@ -175,48 +177,49 @@ describe Travis::API::V3::Services::Repository::Find do
example { expect(last_response).to be_ok }
example { expect(parsed_body).to be == {
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => true,
"disable" => true,
"create_request"=> true},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => true,
"disable" => true,
"create_request" => true},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
@ -257,48 +260,49 @@ describe Travis::API::V3::Services::Repository::Find do
example { expect(last_response).to be_ok }
example { expect(parsed_body).to be == {
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => true,
"disable" => true,
"create_request"=> true},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
"@type" => "repository",
"@href" => "/v3/repo/#{repo.id}",
"@permissions" => {
"read" => true,
"enable" => true,
"disable" => true,
"create_request" => true},
"id" => repo.id,
"name" => "minimal",
"slug" => "svenfuchs/minimal",
"description" => nil,
"github_language" => nil,
"active" => true,
"private" => true,
"owner" => {
"@type" => "user",
"@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",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"event_type" => "push",
"previous_state" => "passed",
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end