Merge branch 'cd-v3-parity'
This commit is contained in:
commit
d207f1c31c
lib/travis/api/v3
spec/v3/services
accounts
branch
builds
organization
organizations
owner
repositories
repository
requests
user
|
@ -68,12 +68,13 @@ module Travis::API::V3
|
|||
return { :@href => href }
|
||||
end
|
||||
|
||||
result = {}
|
||||
result[:@type] = self.class.type if self.class.type
|
||||
result[:@href] = href if href
|
||||
fields = self.class.representations.fetch(representation)
|
||||
nested_included = included + [model]
|
||||
modes = {}
|
||||
result = {}
|
||||
result[:@type] = self.class.type if self.class.type
|
||||
result[:@href] = href if href
|
||||
result[:@representation] = representation
|
||||
fields = self.class.representations.fetch(representation)
|
||||
nested_included = included + [model]
|
||||
modes = {}
|
||||
|
||||
if permissions = access_control.permissions(model) and (representation != :minimal or include? :@permissions)
|
||||
result[:@permissions] = permissions.to_h
|
||||
|
@ -96,7 +97,7 @@ module Travis::API::V3
|
|||
raise WrongParams, 'no field %p to include'.freeze % qualified_field unless result.keys.any? { |k| k.to_s == field.to_s }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
fields.each do |field|
|
||||
value = Renderer.render_value(send(field),
|
||||
access_control: access_control,
|
||||
|
|
|
@ -85,7 +85,6 @@ module Travis::API::V3
|
|||
end
|
||||
|
||||
def paginate(result)
|
||||
p params
|
||||
self.class.paginator.paginate(result,
|
||||
limit: params['limit'.freeze],
|
||||
offset: params['offset'.freeze],
|
||||
|
|
|
@ -18,30 +18,34 @@ describe Travis::API::V3::Services::Accounts::ForCurrentUser do
|
|||
before { get("/v3/accounts", {}, headers) }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "accounts",
|
||||
"@href" => "/v3/accounts",
|
||||
"accounts" => [{
|
||||
"@type" => "account",
|
||||
"@permissions" => { "read"=>true },
|
||||
"id" => repo.owner.github_id,
|
||||
"subscribed" => false,
|
||||
"educational" => false,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" }},
|
||||
{"@type" => "account",
|
||||
"@permissions" => { "read"=>true },
|
||||
"id" => 42,
|
||||
"subscribed" => false,
|
||||
"educational" => false,
|
||||
"owner" => {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"id" => org.id,
|
||||
"login" => "example-org"}
|
||||
"@type" => "accounts",
|
||||
"@href" => "/v3/accounts",
|
||||
"accounts" => [{
|
||||
"@type" => "account",
|
||||
"@representation" =>"standard",
|
||||
"@permissions" => { "read"=>true },
|
||||
"id" => repo.owner.github_id,
|
||||
"subscribed" => false,
|
||||
"educational" => false,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"@representation" =>"minimal",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" }},
|
||||
{"@type" => "account",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true },
|
||||
"id" => 42,
|
||||
"subscribed" => false,
|
||||
"educational" => false,
|
||||
"owner" => {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => org.id,
|
||||
"login" => "example-org"}
|
||||
}]
|
||||
}}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,15 +10,18 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "standard",
|
||||
"name" => "master",
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.id,
|
||||
"slug" => "svenfuchs/minimal"},
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.default_branch.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -28,4 +31,4 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" => nil}}}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,8 +36,8 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"next" => {
|
||||
"@href" => "/v3/repo/#{repo.id}/builds?limit=1&offset=1",
|
||||
"offset" => 1,
|
||||
"limit" =>1},
|
||||
"prev" =>nil,
|
||||
"limit" => 1},
|
||||
"prev" => nil,
|
||||
"first" => {
|
||||
"@href" => "/v3/repo/#{repo.id}/builds?limit=1",
|
||||
"offset" => 0,
|
||||
|
@ -49,6 +49,7 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"builds" => [{
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{build.id}",
|
||||
"@representation" => "standard",
|
||||
"id" => build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -60,16 +61,19 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.id,
|
||||
"slug"=>"svenfuchs/minimal" },
|
||||
"slug" => "svenfuchs/minimal" },
|
||||
"branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation"=> "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@href"=>"/v3/build/#{build.id}" }},
|
||||
"@href" => "/v3/build/#{build.id}" }},
|
||||
"commit" => {
|
||||
"@type" => "commit",
|
||||
"@representation"=> "minimal",
|
||||
"id" => 5,
|
||||
"sha" => "add057e66c3e1d59ef1f",
|
||||
"ref" => "refs/heads/master",
|
||||
|
@ -112,6 +116,7 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"builds" => [{
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{build.id}",
|
||||
"@representation" => "standard",
|
||||
"id" => build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -119,20 +124,23 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"event_type" => "push",
|
||||
"previous_state" => "passed",
|
||||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" =>nil,
|
||||
"finished_at" => nil,
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.id,
|
||||
"slug" => "svenfuchs/minimal"},
|
||||
"branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation"=> "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@href" => "/v3/build/#{build.id}"}},
|
||||
"commit" => {
|
||||
"@type" => "commit",
|
||||
"@representation"=> "minimal",
|
||||
"id" => 5,
|
||||
"sha" => "add057e66c3e1d59ef1f",
|
||||
"ref" => "refs/heads/master",
|
||||
|
|
|
@ -9,14 +9,15 @@ describe Travis::API::V3::Services::Organization::Find do
|
|||
before { get("/v3/org/#{org.id}") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
|
@ -18,18 +18,19 @@ describe Travis::API::V3::Services::Organizations::ForCurrentUser do
|
|||
before { get("/v3/orgs", {}, headers) }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organizations",
|
||||
"@href" => "/v3/orgs",
|
||||
"organizations" => [{
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@permissions" => { "read"=>true, "sync"=>true },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
"@type" => "organizations",
|
||||
"@href" => "/v3/orgs",
|
||||
"organizations" => [{
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>true },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
}]
|
||||
}}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,14 +10,15 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-org") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -30,36 +31,39 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-org?include=organization.repositories,user.repositories") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => false,
|
||||
"disable" => false,
|
||||
"create_request"=> false},
|
||||
"id" => repo.id,
|
||||
"name" => "example-repo",
|
||||
"slug" => "example-org/example-repo",
|
||||
"description" => nil,
|
||||
"github_language" => nil,
|
||||
"active" => false,
|
||||
"private" => false,
|
||||
"last_build" => nil,
|
||||
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
||||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"name" => "master",
|
||||
"last_build" => nil }
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => false,
|
||||
"disable" => false,
|
||||
"create_request" => false},
|
||||
"id" => repo.id,
|
||||
"name" => "example-repo",
|
||||
"slug" => "example-org/example-repo",
|
||||
"description" => nil,
|
||||
"github_language" => nil,
|
||||
"active" => false,
|
||||
"private" => false,
|
||||
"last_build" => nil,
|
||||
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
||||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => nil }
|
||||
}]
|
||||
}}
|
||||
end
|
||||
|
@ -75,6 +79,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
|
@ -84,6 +89,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => false,
|
||||
|
@ -101,8 +107,9 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"name" => "master",
|
||||
"last_build" => nil }
|
||||
"@representation"=> "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => nil }
|
||||
}]
|
||||
}}
|
||||
end
|
||||
|
@ -111,14 +118,15 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-ORG") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -132,6 +140,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "organization",
|
||||
"@href" => "/v3/org/#{org.id}",
|
||||
"@representation"=> "standard",
|
||||
"@permissions" => { "read"=>true, "sync"=>false },
|
||||
"id" => org.id,
|
||||
"login" => "example-org",
|
||||
|
@ -156,16 +165,17 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-user") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@permissions" => {"read"=>true, "sync"=>false},
|
||||
"id" => user.id,
|
||||
"login" => "example-user",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"is_syncing" => nil,
|
||||
"synced_at" => nil
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@representation"=> "standard",
|
||||
"@permissions" => {"read"=>true, "sync"=>false},
|
||||
"id" => user.id,
|
||||
"login" => "example-user",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"is_syncing" => nil,
|
||||
"synced_at" => nil
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -173,16 +183,17 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-USER") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@permissions" => {"read"=>true, "sync"=>false},
|
||||
"id" => user.id,
|
||||
"login" => "example-user",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"is_syncing" => nil,
|
||||
"synced_at" => nil
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {"read"=>true, "sync"=>false},
|
||||
"id" => user.id,
|
||||
"login" => "example-user",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"is_syncing" => nil,
|
||||
"synced_at" => nil
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -194,21 +205,22 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
before { get("/v3/owner/example-user?user.id=#{other.id}") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@permissions" => {"read"=>true, "sync"=>false},
|
||||
"id" => user.id,
|
||||
"login" => "example-user",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"is_syncing" => nil,
|
||||
"synced_at" => nil,
|
||||
"@warnings" => [{
|
||||
"@type" => "warning",
|
||||
"message" => "query parameter user.id not whitelisted, ignored",
|
||||
"warning_type" => "ignored_parameter",
|
||||
"parameter" => "user.id"}]
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {"read"=>true, "sync"=>false},
|
||||
"id" => user.id,
|
||||
"login" => "example-user",
|
||||
"name" => nil,
|
||||
"github_id" => nil,
|
||||
"avatar_url" => nil,
|
||||
"is_syncing" => nil,
|
||||
"synced_at" => nil,
|
||||
"@warnings" => [{
|
||||
"@type" => "warning",
|
||||
"message" => "query parameter user.id not whitelisted, ignored",
|
||||
"warning_type" => "ignored_parameter",
|
||||
"parameter" => "user.id"}]
|
||||
}}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,6 +18,7 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
|||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => false,
|
||||
|
@ -47,10 +48,12 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -74,4 +77,4 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
|||
example { expect(last_response) .to be_ok }
|
||||
example { expect(JSON.load(body)['repositories']) .to be == [] }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,6 +18,7 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
|||
"repositories" => [{
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => true,
|
||||
|
@ -47,10 +48,12 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
|
|
@ -27,6 +27,7 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
example { expect(parsed_body).to be == {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => false,
|
||||
|
@ -56,10 +57,12 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -119,6 +122,7 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
example { expect(parsed_body).to be == {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => false,
|
||||
|
@ -148,10 +152,12 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -196,6 +202,7 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
example { expect(parsed_body).to be == {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => true,
|
||||
|
@ -225,10 +232,12 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
@ -279,6 +288,7 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
example { expect(parsed_body).to be == {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {
|
||||
"read" => true,
|
||||
"enable" => true,
|
||||
|
@ -308,10 +318,12 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"default_branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"@representation" => "minimal",
|
||||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
|
|
|
@ -49,16 +49,17 @@ describe Travis::API::V3::Services::Requests::Create do
|
|||
|
||||
example { expect(last_response.status).to be == 403 }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "error",
|
||||
"error_type" => "insufficient_access",
|
||||
"error_message" => "operation requires create_request access to repository",
|
||||
"resource_type" => "repository",
|
||||
"permission" => "create_request",
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/repo/#{repo.id}",
|
||||
"id" => repo.id,
|
||||
"slug" => "svenfuchs/minimal"}
|
||||
"@type" => "error",
|
||||
"error_type" => "insufficient_access",
|
||||
"error_message" => "operation requires create_request access to repository",
|
||||
"resource_type" => "repository",
|
||||
"permission" => "create_request",
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/repo/#{repo.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => repo.id,
|
||||
"slug" => "svenfuchs/minimal"}
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -89,10 +90,19 @@ describe Travis::API::V3::Services::Requests::Create do
|
|||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "pending",
|
||||
"remaining_requests" => 10,
|
||||
"repository" => {"@type"=>"repository", "@href"=>"/repo/#{repo.id}", "id"=>repo.id, "slug"=>"svenfuchs/minimal"},
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/repo/#{repo.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => repo.id,
|
||||
"slug" => "svenfuchs/minimal"},
|
||||
"request" => {
|
||||
"repository" => {"id"=>repo.id, "owner_name"=>"svenfuchs", "name"=>"minimal"},
|
||||
"user" => {"id"=>repo.owner.id},
|
||||
"repository" => {
|
||||
"id" => repo.id,
|
||||
"owner_name" => "svenfuchs",
|
||||
"name" => "minimal"},
|
||||
"user" => {
|
||||
"id" => repo.owner.id},
|
||||
"message" => nil,
|
||||
"branch" => "master",
|
||||
"config" => {}},
|
||||
|
@ -229,7 +239,7 @@ describe Travis::API::V3::Services::Requests::Create do
|
|||
"@type" => "error",
|
||||
"error_type" => "request_limit_reached",
|
||||
"error_message" => "request limit reached for resource",
|
||||
"repository" => {"@type"=>"repository", "@href"=>"/repo/#{repo.id}", "id"=>repo.id, "slug"=>"svenfuchs/minimal" }
|
||||
"repository" => {"@type"=>"repository", "@href"=>"/repo/#{repo.id}", "@representation"=>"minimal", "id"=>repo.id, "slug"=>"svenfuchs/minimal" }
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
|
@ -10,16 +10,17 @@ describe Travis::API::V3::Services::User::Current do
|
|||
before { get("/v3/user", {}, headers) }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@permissions" => {"read"=>true, "sync"=>true},
|
||||
"id" => user.id,
|
||||
"login" => "svenfuchs",
|
||||
"name" =>"Sven Fuchs",
|
||||
"github_id" => user.github_id,
|
||||
"avatar_url" => "https://0.gravatar.com/avatar/07fb84848e68b96b69022d333ca8a3e2",
|
||||
"is_syncing" => user.is_syncing,
|
||||
"synced_at" => user.synced_at
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {"read"=>true, "sync"=>true},
|
||||
"id" => user.id,
|
||||
"login" => "svenfuchs",
|
||||
"name" =>"Sven Fuchs",
|
||||
"github_id" => user.github_id,
|
||||
"avatar_url" => "https://0.gravatar.com/avatar/07fb84848e68b96b69022d333ca8a3e2",
|
||||
"is_syncing" => user.is_syncing,
|
||||
"synced_at" => user.synced_at
|
||||
}}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,16 +10,17 @@ describe Travis::API::V3::Services::User::Find do
|
|||
before { get("/v3/user/#{user.id}", {}, headers) }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(JSON.load(body)).to be == {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@permissions" => {"read"=>true, "sync"=>true},
|
||||
"id" => user.id,
|
||||
"login" => "svenfuchs",
|
||||
"name" =>"Sven Fuchs",
|
||||
"github_id" => user.github_id,
|
||||
"avatar_url" => "https://0.gravatar.com/avatar/07fb84848e68b96b69022d333ca8a3e2",
|
||||
"is_syncing" => user.is_syncing,
|
||||
"synced_at" => user.synced_at
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{user.id}",
|
||||
"@representation" => "standard",
|
||||
"@permissions" => {"read"=>true, "sync"=>true},
|
||||
"id" => user.id,
|
||||
"login" => "svenfuchs",
|
||||
"name" =>"Sven Fuchs",
|
||||
"github_id" => user.github_id,
|
||||
"avatar_url" => "https://0.gravatar.com/avatar/07fb84848e68b96b69022d333ca8a3e2",
|
||||
"is_syncing" => user.is_syncing,
|
||||
"synced_at" => user.synced_at
|
||||
}}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user