Merge pull request #186 from travis-ci/cd-v3-parity
v3 improvements incl. :job attribute on build payload and /job/:id endpoint and specs using v3 models
This commit is contained in:
commit
f57f62ba75
|
@ -55,6 +55,10 @@ module Travis::API::V3
|
|||
visible? branch.repository
|
||||
end
|
||||
|
||||
def job_visible?(job)
|
||||
visible? job.repository
|
||||
end
|
||||
|
||||
def organization_visible?(organization)
|
||||
full_access? or public_api?
|
||||
end
|
||||
|
|
|
@ -5,7 +5,11 @@ module Travis::API::V3
|
|||
belongs_to :request
|
||||
belongs_to :repository, autosave: true
|
||||
belongs_to :owner, polymorphic: true
|
||||
has_many :jobs, as: :source, order: :id, dependent: :destroy
|
||||
|
||||
has_many :jobs,
|
||||
as: :source,
|
||||
order: :id,
|
||||
dependent: :destroy
|
||||
|
||||
has_one :branch,
|
||||
foreign_key: [:repository_id, :name],
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
module Travis::API::V3
|
||||
class Models::Job < Model
|
||||
|
||||
self.inheritance_column = :_type_disabled
|
||||
|
||||
has_one :log, dependent: :destroy
|
||||
belongs_to :repository
|
||||
belongs_to :commit
|
||||
|
|
10
lib/travis/api/v3/queries/job.rb
Normal file
10
lib/travis/api/v3/queries/job.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
module Travis::API::V3
|
||||
class Queries::Job < Query
|
||||
params :id
|
||||
|
||||
def find
|
||||
return Models::Job.find_by_id(id) if id
|
||||
raise WrongParams, 'missing build.id'.freeze
|
||||
end
|
||||
end
|
||||
end
|
|
@ -48,6 +48,7 @@ module Travis::API::V3
|
|||
when Time then value.strftime('%Y-%m-%dT%H:%M:%SZ')
|
||||
when Model then render_model(value, **options)
|
||||
when ActiveRecord::Relation then render_value(value.to_a, **options)
|
||||
when ActiveRecord::Associations::CollectionProxy then render_value(value.to_a, **options)
|
||||
else raise ArgumentError, 'cannot render %p (%p)' % [value.class, value]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -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, :previous_state, :started_at, :finished_at)
|
||||
representation(:minimal, :id, :number, :state, :duration, :event_type, :previous_state, :started_at, :finished_at, :jobs)
|
||||
representation(:standard, *representations[:minimal], :repository, :branch, :commit )
|
||||
end
|
||||
end
|
||||
|
|
8
lib/travis/api/v3/renderer/job.rb
Normal file
8
lib/travis/api/v3/renderer/job.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
require 'travis/api/v3/renderer/model_renderer'
|
||||
|
||||
module Travis::API::V3
|
||||
class Renderer::Job < Renderer::ModelRenderer
|
||||
representation(:minimal, :id)
|
||||
representation(:standard, *representations[:minimal], :number, :state, :started_at, :finished_at, :build, :queue, :repository, :commit, :owner )
|
||||
end
|
||||
end
|
6
lib/travis/api/v3/renderer/jobs.rb
Normal file
6
lib/travis/api/v3/renderer/jobs.rb
Normal file
|
@ -0,0 +1,6 @@
|
|||
module Travis::API::V3
|
||||
class Renderer::Jobs < Renderer::CollectionRenderer
|
||||
type :jobs
|
||||
collection_key :jobs
|
||||
end
|
||||
end
|
|
@ -50,6 +50,12 @@ module Travis::API::V3
|
|||
get :find
|
||||
end
|
||||
|
||||
resource :job do
|
||||
capture id: :digit
|
||||
route '/job/{job.id}'
|
||||
get :find
|
||||
end
|
||||
|
||||
resource :user do
|
||||
capture id: :digit
|
||||
route '/user'
|
||||
|
|
|
@ -6,6 +6,7 @@ module Travis::API::V3
|
|||
Branch = Module.new { extend Services }
|
||||
Build = Module.new { extend Services }
|
||||
Builds = Module.new { extend Services }
|
||||
Job = Module.new { extend Services }
|
||||
Organization = Module.new { extend Services }
|
||||
Organizations = Module.new { extend Services }
|
||||
Owner = Module.new { extend Services }
|
||||
|
|
7
lib/travis/api/v3/services/job/find.rb
Normal file
7
lib/travis/api/v3/services/job/find.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
module Travis::API::V3
|
||||
class Services::Job::Find < Service
|
||||
def run!
|
||||
find
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,15 +1,15 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Accounts::ForCurrentUser do
|
||||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
|
||||
let(:org) { Organization.new(login: 'example-org', github_id: 42) }
|
||||
let(:org) { Travis::API::V3::Models::Organization.new(login: 'example-org', github_id: 42) }
|
||||
before { org.save! }
|
||||
before { org.memberships.create(user: repo.owner) }
|
||||
after { org.delete }
|
||||
|
|
|
@ -2,6 +2,8 @@ require 'spec_helper'
|
|||
|
||||
describe Travis::API::V3::Services::Repository::Find do
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
let(:build) { repo.builds.first }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
before { repo.default_branch.save! }
|
||||
|
||||
describe "public repository, existing branch" do
|
||||
|
@ -29,6 +31,24 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"event_type" => "push",
|
||||
"previous_state" => "passed",
|
||||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" => nil}}}
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" =>jobs[3].id}]}
|
||||
}}
|
||||
end
|
||||
end
|
||||
|
|
147
spec/v3/services/build/find_spec.rb
Normal file
147
spec/v3/services/build/find_spec.rb
Normal file
|
@ -0,0 +1,147 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Build::Find do
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
let(:build) { repo.builds.first }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
let(:parsed_body) { JSON.load(body) }
|
||||
|
||||
describe "fetching build on a public repository " do
|
||||
before { get("/v3/build/#{build.id}") }
|
||||
example { expect(last_response).to be_ok }
|
||||
end
|
||||
|
||||
describe "fetching a non-existing build" do
|
||||
before { get("/v3/build/1231987129387218") }
|
||||
example { expect(last_response).to be_not_found }
|
||||
example { expect(parsed_body).to be == {
|
||||
"@type" => "error",
|
||||
"error_type" => "not_found",
|
||||
"error_message" => "build not found (or insufficient access)",
|
||||
"resource_type" => "build"
|
||||
}}
|
||||
end
|
||||
|
||||
describe "build on public repository" do
|
||||
before { get("/v3/build/#{build.id}") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(parsed_body).to be == {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{build.id}",
|
||||
"@representation" => "standard",
|
||||
"id" => build.id,
|
||||
"number" => build.number,
|
||||
"state" => build.state,
|
||||
"duration" => nil,
|
||||
"event_type" => "push",
|
||||
"previous_state" => build.previous_state,
|
||||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" => nil,
|
||||
"jobs" =>[
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[3].id}],
|
||||
"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",
|
||||
"message" => "unignore Gemfile.lock",
|
||||
"compare_url" => "https://github.com/svenfuchs/minimal/compare/master...develop",
|
||||
"committed_at" => "2010-11-12T12:55:00Z"}
|
||||
}}
|
||||
end
|
||||
|
||||
describe "build private repository, private API, authenticated as user with access" do
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
before { get("/v3/build/#{build.id}", {}, headers) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(parsed_body).to be == {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{build.id}",
|
||||
"@representation" => "standard",
|
||||
"id" => build.id,
|
||||
"number" => build.number,
|
||||
"state" => build.state,
|
||||
"duration" => nil,
|
||||
"event_type" => "push",
|
||||
"previous_state" => build.previous_state,
|
||||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" =>jobs[3].id}],
|
||||
"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",
|
||||
"message" => "unignore Gemfile.lock",
|
||||
"compare_url" => "https://github.com/svenfuchs/minimal/compare/master...develop",
|
||||
"committed_at" => "2010-11-12T12:55:00Z"}
|
||||
}}
|
||||
end
|
||||
end
|
|
@ -3,6 +3,7 @@ require 'spec_helper'
|
|||
describe Travis::API::V3::Services::Builds::Find do
|
||||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:build) { repo.builds.last }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
let(:parsed_body) { JSON.load(body) }
|
||||
|
||||
describe "fetching builds on a public repository by slug" do
|
||||
|
@ -59,6 +60,27 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"previous_state" => "passed",
|
||||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" => nil,
|
||||
"jobs" =>[
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[3].id}],
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
|
@ -80,14 +102,15 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"ref" => "refs/heads/master",
|
||||
"message" => "unignore Gemfile.lock",
|
||||
"compare_url" => "https://github.com/svenfuchs/minimal/compare/master...develop",
|
||||
"committed_at" => "2010-11-12T12:55:00Z"}}],
|
||||
"committed_at" => "2010-11-12T12:55:00Z"},
|
||||
}]
|
||||
}}
|
||||
end
|
||||
|
||||
describe "builds private repository, private API, authenticated as user with access" do
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
before { get("/v3/repo/#{repo.id}/builds?limit=1", {}, headers) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
|
@ -127,6 +150,27 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"previous_state" => "passed",
|
||||
"started_at" => "2010-11-12T13:00:00Z",
|
||||
"finished_at" => nil,
|
||||
"jobs" =>[
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[3].id}],
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
|
@ -148,7 +192,8 @@ describe Travis::API::V3::Services::Builds::Find do
|
|||
"ref" => "refs/heads/master",
|
||||
"message" => "unignore Gemfile.lock",
|
||||
"compare_url" => "https://github.com/svenfuchs/minimal/compare/master...develop",
|
||||
"committed_at" => "2010-11-12T12:55:00Z"}}]
|
||||
"committed_at" => "2010-11-12T12:55:00Z"}
|
||||
}]
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
163
spec/v3/services/job/find_spec.rb
Normal file
163
spec/v3/services/job/find_spec.rb
Normal file
|
@ -0,0 +1,163 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Job::Find do
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
let(:owner_href) { repo.owner_type.downcase }
|
||||
let(:owner_type) { repo.owner_type.constantize }
|
||||
let(:owner) { owner_type.find(repo.owner_id)}
|
||||
let(:build) { repo.builds.last }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
let(:job) { Travis::API::V3::Models::Build.find(build.id).jobs.last }
|
||||
let(:commit) { job.commit }
|
||||
let(:parsed_body) { JSON.load(body) }
|
||||
|
||||
describe "fetching job on a public repository" do
|
||||
before { get("/v3/job/#{job.id}") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(parsed_body).to be == {
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{job.id}",
|
||||
"@representation" => "standard",
|
||||
"id" => job.id,
|
||||
"number" => job.number,
|
||||
"state" => job.state,
|
||||
"started_at" => "2010-11-12T12:00:00Z",
|
||||
"finished_at" => "2010-11-12T12:00:10Z",
|
||||
"build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{build.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => build.id,
|
||||
"number" => build.number,
|
||||
"state" => build.state,
|
||||
"duration" => build.duration,
|
||||
"event_type" => build.event_type,
|
||||
"previous_state" => build.previous_state,
|
||||
"started_at" => "2010-11-12T12:00:00Z",
|
||||
"finished_at" => "2010-11-12T12:00:10Z",
|
||||
"jobs" =>[
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@href" => "/v3/job/#{jobs[3].id}"}]},
|
||||
"queue" => job.queue,
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => repo.id,
|
||||
"slug" => repo.slug},
|
||||
"commit" => {
|
||||
"@type" => "commit",
|
||||
"@representation" => "minimal",
|
||||
"id" => commit.id,
|
||||
"sha" => commit.commit,
|
||||
"ref" => commit.ref,
|
||||
"message" => commit.message,
|
||||
"compare_url" => commit.compare_url,
|
||||
"committed_at" => "2010-11-12T11:50:00Z"},
|
||||
"owner" => {
|
||||
"@type" => owner_type.to_s.downcase,
|
||||
"@href" => "/v3/#{owner_href}/#{owner.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => owner.id,
|
||||
"login" => owner.login}
|
||||
}}
|
||||
end
|
||||
|
||||
describe "fetching a non-existing job" do
|
||||
before { get("/v3/job/1233456789") }
|
||||
example { expect(last_response).to be_not_found }
|
||||
example { expect(parsed_body).to be == {
|
||||
"@type" => "error",
|
||||
"error_type" => "not_found",
|
||||
"error_message" => "job not found (or insufficient access)",
|
||||
"resource_type" => "job"
|
||||
}}
|
||||
end
|
||||
|
||||
describe "fetching job on private repository, private API, authenticated as user with access" do
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
before { get("/v3/job/#{job.id}", {}, headers) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(parsed_body).to be == {
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{job.id}",
|
||||
"@representation" => "standard",
|
||||
"id" => job.id,
|
||||
"number" => job.number,
|
||||
"state" => job.state,
|
||||
"started_at" => "2010-11-12T12:00:00Z",
|
||||
"finished_at" => "2010-11-12T12:00:10Z",
|
||||
"build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{build.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => build.id,
|
||||
"number" => build.number,
|
||||
"state" => build.state,
|
||||
"duration" => build.duration,
|
||||
"event_type" => build.event_type,
|
||||
"previous_state" => build.previous_state,
|
||||
"started_at" => "2010-11-12T12:00:00Z",
|
||||
"finished_at" => "2010-11-12T12:00:10Z",
|
||||
"jobs" =>[
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@href" => "/v3/job/#{jobs[3].id}"}]},
|
||||
"queue" => job.queue,
|
||||
"repository" => {
|
||||
"@type" => "repository",
|
||||
"@href" => "/v3/repo/#{repo.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => repo.id,
|
||||
"slug" => repo.slug},
|
||||
"commit" => {
|
||||
"@type" => "commit",
|
||||
"@representation" => "minimal",
|
||||
"id" => commit.id,
|
||||
"sha" => commit.commit,
|
||||
"ref" => commit.ref,
|
||||
"message" => commit.message,
|
||||
"compare_url" => commit.compare_url,
|
||||
"committed_at" => "2010-11-12T11:50:00Z"},
|
||||
"owner" => {
|
||||
"@type" => owner_type.to_s.downcase,
|
||||
"@href" => "/v3/#{owner_href}/#{owner.id}",
|
||||
"@representation" => "minimal",
|
||||
"id" => owner.id,
|
||||
"login" => owner.login}
|
||||
}}
|
||||
end
|
||||
end
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Organization::Find do
|
||||
let(:org) { Organization.new(login: 'example-org') }
|
||||
let(:org) { Travis::API::V3::Models::Organization.new(login: 'example-org') }
|
||||
before { org.save! }
|
||||
after { org.delete }
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Organizations::ForCurrentUser do
|
||||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
|
||||
let(:org) { Organization.new(login: 'example-org') }
|
||||
let(:org) { Travis::API::V3::Models::Organization.new(login: 'example-org') }
|
||||
before { org.save! }
|
||||
before { org.memberships.create(user: repo.owner) }
|
||||
after { org.delete }
|
||||
|
|
|
@ -2,7 +2,7 @@ require 'spec_helper'
|
|||
|
||||
describe Travis::API::V3::Services::Owner::Find do
|
||||
describe "organization" do
|
||||
let(:org) { Organization.new(login: 'example-org') }
|
||||
let(:org) { Travis::API::V3::Models::Organization.new(login: 'example-org') }
|
||||
before { org.save! }
|
||||
after { org.delete }
|
||||
|
||||
|
@ -23,7 +23,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
end
|
||||
|
||||
describe 'eager loading repositories via organization.repositories' do
|
||||
let(:repo) { Repository.new(name: 'example-repo', owner_name: 'example-org', owner_id: org.id, owner_type: 'Organization')}
|
||||
let(:repo) { Travis::API::V3::Models::Repository.new(name: 'example-repo', owner_name: 'example-org', owner_id: org.id, owner_type: 'Organization')}
|
||||
|
||||
before { repo.save! }
|
||||
after { repo.destroy }
|
||||
|
@ -69,7 +69,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
end
|
||||
|
||||
describe 'eager loading repositories via owner.repositories' do
|
||||
let(:repo) { Repository.new(name: 'example-repo', owner_name: 'example-org', owner_id: org.id, owner_type: 'Organization')}
|
||||
let(:repo) { Travis::API::V3::Models::Repository.new(name: 'example-repo', owner_name: 'example-org', owner_id: org.id, owner_type: 'Organization')}
|
||||
|
||||
before { repo.save! }
|
||||
after { repo.destroy }
|
||||
|
@ -131,7 +131,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
end
|
||||
|
||||
describe "does not allow overriding org id" do
|
||||
let(:other) { Organization.new(login: 'other-org') }
|
||||
let(:other) { Travis::API::V3::Models::Organization.new(login: 'other-org') }
|
||||
before { other.save! }
|
||||
after { other.delete }
|
||||
|
||||
|
@ -157,7 +157,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
end
|
||||
|
||||
describe "user" do
|
||||
let(:user) { User.new(login: 'example-user') }
|
||||
let(:user) { Travis::API::V3::Models::User.new(login: 'example-user') }
|
||||
before { user.save! }
|
||||
after { user.delete }
|
||||
|
||||
|
@ -198,7 +198,7 @@ describe Travis::API::V3::Services::Owner::Find do
|
|||
end
|
||||
|
||||
describe "does not allow overriding user id" do
|
||||
let(:other) { User.new(login: 'other-user') }
|
||||
let(:other) { Travis::API::V3::Models::User.new(login: 'other-user') }
|
||||
before { other.save! }
|
||||
after { other.delete }
|
||||
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Owner::Repositories do
|
||||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
let(:build) { repo.builds.first }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
|
||||
|
@ -34,12 +36,12 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
|||
"private" => true,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" },
|
||||
"login" => "svenfuchs",
|
||||
"@href" => "/v3/user/#{repo.owner_id}" },
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"id" => repo.last_build_id,
|
||||
"number" => "2",
|
||||
"state" => "passed",
|
||||
|
@ -53,16 +55,38 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
|||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"id" => repo.default_branch.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}}}]
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[3].id}]
|
||||
|
||||
}}}]
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
||||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
let(:build) { repo.builds.first }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Permission.create(repository: repo, user: repo.owner, pull: true, push: true) }
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true, push: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
|
||||
|
@ -53,16 +55,37 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
|||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"id" => repo.default_branch.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}}}]
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[3].id}]
|
||||
}}}]
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::Repository::Find do
|
||||
let(:repo) { Repository.by_slug('svenfuchs/minimal').first }
|
||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||
let(:build) { repo.builds.first }
|
||||
let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs }
|
||||
let(:parsed_body) { JSON.load(body) }
|
||||
|
||||
describe "fetching a public repository by slug" do
|
||||
|
@ -41,10 +43,10 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"active" => true,
|
||||
"private" => false,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" },
|
||||
"login" => "svenfuchs",
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
||||
|
@ -61,16 +63,37 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"id" => repo.default_branch.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}}
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[3].id}]
|
||||
}}
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -114,7 +137,7 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
describe "private repository, private API, authenticated as user with access" do
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
before { Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, pull: true) }
|
||||
before { repo.update_attribute(:private, true) }
|
||||
before { get("/v3/repo/#{repo.id}", {}, headers) }
|
||||
after { repo.update_attribute(:private, false) }
|
||||
|
@ -136,10 +159,10 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"active" => true,
|
||||
"private" => true,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" },
|
||||
"login" => "svenfuchs",
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
||||
|
@ -156,16 +179,37 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"id" => repo.default_branch.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}}
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[3].id}]
|
||||
}}
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -216,10 +260,10 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"active" => true,
|
||||
"private" => true,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" },
|
||||
"login" => "svenfuchs",
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
||||
|
@ -236,16 +280,37 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"id" => repo.default_branch.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}}
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[3].id}]
|
||||
}}
|
||||
}}
|
||||
end
|
||||
|
||||
|
@ -302,10 +367,10 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"active" => true,
|
||||
"private" => true,
|
||||
"owner" => {
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}",
|
||||
"id" => repo.owner_id,
|
||||
"login" => "svenfuchs" },
|
||||
"login" => "svenfuchs",
|
||||
"@type" => "user",
|
||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
||||
|
@ -322,16 +387,37 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"name" => "master",
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"@representation"=> "minimal",
|
||||
"id" => repo.last_build.id,
|
||||
"id" => repo.default_branch.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}}
|
||||
"finished_at" => nil,
|
||||
"jobs" => [{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[0].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[0].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[1].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[1].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[2].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[2].id},
|
||||
{
|
||||
"@type" => "job",
|
||||
"@href" => "/v3/job/#{jobs[3].id}",
|
||||
"@representation"=>"minimal",
|
||||
"id" => jobs[3].id}]
|
||||
}}
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::User::Current do
|
||||
let(:user) { User.find_by_login('svenfuchs') }
|
||||
let(:user) { Travis::API::V3::Models::User.find_by_login('svenfuchs') }
|
||||
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: user, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Travis::API::V3::Services::User::Find do
|
||||
let(:user) { User.find_by_login('svenfuchs') }
|
||||
let(:user) { Travis::API::V3::Models::User.find_by_login('svenfuchs') }
|
||||
|
||||
let(:token) { Travis::Api::App::AccessToken.create(user: user, app_id: 1) }
|
||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||
|
|
Loading…
Reference in New Issue
Block a user