diff --git a/lib/travis/api/v3/renderer/model_renderer.rb b/lib/travis/api/v3/renderer/model_renderer.rb index be2ea006..0b3a0c5e 100644 --- a/lib/travis/api/v3/renderer/model_renderer.rb +++ b/lib/travis/api/v3/renderer/model_renderer.rb @@ -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, diff --git a/lib/travis/api/v3/service.rb b/lib/travis/api/v3/service.rb index 2a0011e0..91c4aea1 100644 --- a/lib/travis/api/v3/service.rb +++ b/lib/travis/api/v3/service.rb @@ -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], diff --git a/spec/v3/services/accounts/for_current_user_spec.rb b/spec/v3/services/accounts/for_current_user_spec.rb index e50b36e6..c5bda2ae 100644 --- a/spec/v3/services/accounts/for_current_user_spec.rb +++ b/spec/v3/services/accounts/for_current_user_spec.rb @@ -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 \ No newline at end of file +end diff --git a/spec/v3/services/branch/find_spec.rb b/spec/v3/services/branch/find_spec.rb index 99d91acf..277c6874 100644 --- a/spec/v3/services/branch/find_spec.rb +++ b/spec/v3/services/branch/find_spec.rb @@ -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 \ No newline at end of file +end diff --git a/spec/v3/services/builds/find_spec.rb b/spec/v3/services/builds/find_spec.rb index e0816a74..7d97559c 100644 --- a/spec/v3/services/builds/find_spec.rb +++ b/spec/v3/services/builds/find_spec.rb @@ -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", diff --git a/spec/v3/services/organization/find_spec.rb b/spec/v3/services/organization/find_spec.rb index 1ffc2654..c0b2e3e4 100644 --- a/spec/v3/services/organization/find_spec.rb +++ b/spec/v3/services/organization/find_spec.rb @@ -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 diff --git a/spec/v3/services/organizations/for_current_user_spec.rb b/spec/v3/services/organizations/for_current_user_spec.rb index dfdf1517..fd448f31 100644 --- a/spec/v3/services/organizations/for_current_user_spec.rb +++ b/spec/v3/services/organizations/for_current_user_spec.rb @@ -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 \ No newline at end of file +end diff --git a/spec/v3/services/owner/find_spec.rb b/spec/v3/services/owner/find_spec.rb index fd8fc6fa..61f253ce 100644 --- a/spec/v3/services/owner/find_spec.rb +++ b/spec/v3/services/owner/find_spec.rb @@ -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 diff --git a/spec/v3/services/owner/repositories_spec.rb b/spec/v3/services/owner/repositories_spec.rb index e70dc2a2..836b091f 100644 --- a/spec/v3/services/owner/repositories_spec.rb +++ b/spec/v3/services/owner/repositories_spec.rb @@ -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 \ No newline at end of file +end diff --git a/spec/v3/services/repositories/for_current_user_spec.rb b/spec/v3/services/repositories/for_current_user_spec.rb index 5049de5f..5d7dead9 100644 --- a/spec/v3/services/repositories/for_current_user_spec.rb +++ b/spec/v3/services/repositories/for_current_user_spec.rb @@ -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", diff --git a/spec/v3/services/repository/find_spec.rb b/spec/v3/services/repository/find_spec.rb index 994c10c9..5f4998d8 100644 --- a/spec/v3/services/repository/find_spec.rb +++ b/spec/v3/services/repository/find_spec.rb @@ -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", diff --git a/spec/v3/services/requests/create_spec.rb b/spec/v3/services/requests/create_spec.rb index 42a88706..4342c5f3 100644 --- a/spec/v3/services/requests/create_spec.rb +++ b/spec/v3/services/requests/create_spec.rb @@ -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 diff --git a/spec/v3/services/user/current_spec.rb b/spec/v3/services/user/current_spec.rb index 88a1c920..ac6d38cc 100644 --- a/spec/v3/services/user/current_spec.rb +++ b/spec/v3/services/user/current_spec.rb @@ -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 \ No newline at end of file +end diff --git a/spec/v3/services/user/find_spec.rb b/spec/v3/services/user/find_spec.rb index b493bc40..1c0517ec 100644 --- a/spec/v3/services/user/find_spec.rb +++ b/spec/v3/services/user/find_spec.rb @@ -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 \ No newline at end of file +end