Merge pull request #202 from travis-ci/rkh-active-broadcasts
better broadcasts, cleaner payloads
This commit is contained in:
commit
03c982a45a
|
@ -4,5 +4,9 @@ module Travis::API::V3
|
||||||
belongs_to :last_build, class_name: 'Travis::API::V3::Models::Build'.freeze
|
belongs_to :last_build, class_name: 'Travis::API::V3::Models::Build'.freeze
|
||||||
has_many :builds, foreign_key: [:repository_id, :branch], primary_key: [:repository_id, :name], order: 'builds.id DESC'.freeze, conditions: { event_type: 'push' }
|
has_many :builds, foreign_key: [:repository_id, :branch], primary_key: [:repository_id, :name], order: 'builds.id DESC'.freeze, conditions: { event_type: 'push' }
|
||||||
has_many :commits, foreign_key: [:repository_id, :branch], primary_key: [:repository_id, :name], order: 'commits.id DESC'.freeze
|
has_many :commits, foreign_key: [:repository_id, :branch], primary_key: [:repository_id, :name], order: 'commits.id DESC'.freeze
|
||||||
|
|
||||||
|
def default_branch
|
||||||
|
name == repository.default_branch_name
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Models::Broadcast < Model
|
class Models::Broadcast < Model
|
||||||
|
EXPIRY_TIME = 14.days
|
||||||
|
|
||||||
belongs_to :recipient, polymorphic: true
|
belongs_to :recipient, polymorphic: true
|
||||||
|
scope :active, -> { where('created_at >= ? AND (expired IS NULL OR expired <> ?)', EXPIRY_TIME.ago, true) }
|
||||||
|
scope :inactive, -> { where('created_at < ? OR (expired = ?)', EXPIRY_TIME.ago, true) }
|
||||||
|
|
||||||
|
def active?
|
||||||
|
return false if expired?
|
||||||
|
created_at >= EXPIRY_TIME.ago
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,13 +1,35 @@
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Queries::Broadcasts < Query
|
class Queries::Broadcasts < Query
|
||||||
|
params :active, prefix: :broadcast
|
||||||
|
|
||||||
|
def initialize(*)
|
||||||
|
super
|
||||||
|
self.active = "true".freeze if active.nil?
|
||||||
|
end
|
||||||
|
|
||||||
def for_user(user)
|
def for_user(user)
|
||||||
query = %(
|
all.where(<<-SQL, 'Organization'.freeze, user.organization_ids, 'User'.freeze, user.id, 'Repository'.freeze, user.repository_ids)
|
||||||
recipient_type IS NULL OR
|
recipient_type IS NULL OR
|
||||||
recipient_type = ? AND recipient_id IN(?) OR
|
recipient_type = ? AND recipient_id IN(?) OR
|
||||||
recipient_type = ? AND recipient_id = ? OR
|
recipient_type = ? AND recipient_id = ? OR
|
||||||
recipient_type = ? AND recipient_id IN (?)
|
recipient_type = ? AND recipient_id IN (?)
|
||||||
)
|
SQL
|
||||||
Models::Broadcast.where(query, 'Organization', user.organization_ids, 'User', user.id, 'Repository', user.repository_ids)
|
end
|
||||||
|
|
||||||
|
def all
|
||||||
|
@all ||= filter(Models::Broadcast)
|
||||||
|
end
|
||||||
|
|
||||||
|
def filter(list)
|
||||||
|
active = list(self.active).map { |e| bool(e) }
|
||||||
|
|
||||||
|
if active.include? true
|
||||||
|
list = list.active unless active.include? false
|
||||||
|
else
|
||||||
|
list = list.inactive
|
||||||
|
end
|
||||||
|
|
||||||
|
list
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,7 +2,7 @@ require 'travis/api/v3/renderer/model_renderer'
|
||||||
|
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Renderer::Branch < Renderer::ModelRenderer
|
class Renderer::Branch < Renderer::ModelRenderer
|
||||||
representation(:minimal, :name, :last_build)
|
representation(:minimal, :name)
|
||||||
representation(:standard, :name, :repository, :last_build, :exists_on_github)
|
representation(:standard, :name, :repository, :default_branch, :exists_on_github, :last_build)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,7 +2,11 @@ require 'travis/api/v3/renderer/model_renderer'
|
||||||
|
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Renderer::Broadcast < Renderer::ModelRenderer
|
class Renderer::Broadcast < Renderer::ModelRenderer
|
||||||
representation(:minimal, :id, :recipient_id, :message, :created_at, :category)
|
representation(:minimal, :id, :message, :created_at, :category, :active)
|
||||||
representation(:standard, :id, :recipient_id, :recipient_type, :category, :kind, :message, :expired, :created_at, :updated_at)
|
representation(:standard, :id, *representations[:minimal], :recipient)
|
||||||
|
|
||||||
|
def active
|
||||||
|
model.active?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,8 +2,8 @@ require 'travis/api/v3/renderer/model_renderer'
|
||||||
|
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Renderer::Build < Renderer::ModelRenderer
|
class Renderer::Build < Renderer::ModelRenderer
|
||||||
representation(:minimal, :id, :number, :state, :duration, :event_type, :previous_state, :started_at, :finished_at, :jobs)
|
representation(:minimal, :id, :number, :state, :duration, :event_type, :previous_state, :started_at, :finished_at)
|
||||||
representation(:standard, *representations[:minimal], :repository, :branch, :commit)
|
representation(:standard, *representations[:minimal], :repository, :branch, :commit, :jobs)
|
||||||
|
|
||||||
def jobs
|
def jobs
|
||||||
return model.jobs if include_full_jobs?
|
return model.jobs if include_full_jobs?
|
||||||
|
|
|
@ -2,13 +2,29 @@ require 'travis/api/v3/renderer/model_renderer'
|
||||||
|
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Renderer::Repository < Renderer::ModelRenderer
|
class Renderer::Repository < Renderer::ModelRenderer
|
||||||
representation(:minimal, :id, :slug, :default_branch)
|
representation(:minimal, :id, :name, :slug)
|
||||||
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :last_build, :default_branch)
|
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :default_branch)
|
||||||
|
|
||||||
def active
|
def active
|
||||||
!!model.active
|
!!model.active
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def default_branch
|
||||||
|
return model.default_branch if include_default_branch?
|
||||||
|
{
|
||||||
|
:@type => 'branch'.freeze,
|
||||||
|
:@href => Renderer.href(:branch, name: model.default_branch_name, repository_id: id, script_name: script_name),
|
||||||
|
:@representation => 'minimal'.freeze,
|
||||||
|
:name => model.default_branch_name
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def include_default_branch?
|
||||||
|
return true if include? 'repository.default_branch'.freeze
|
||||||
|
return true if include.any? { |i| i.start_with? 'branch'.freeze }
|
||||||
|
return true if included.any? { |i| i.is_a? Models::Branch and i.respository_id == id and i.name == i.default_branch_name }
|
||||||
|
end
|
||||||
|
|
||||||
def owner
|
def owner
|
||||||
return model.owner if include_owner?
|
return model.owner if include_owner?
|
||||||
owner_href = Renderer.href(owner_type.to_sym, id: model.owner_id, script_name: script_name)
|
owner_href = Renderer.href(owner_type.to_sym, id: model.owner_id, script_name: script_name)
|
||||||
|
@ -35,26 +51,5 @@ module Travis::API::V3
|
||||||
def owner_type
|
def owner_type
|
||||||
@owner_type ||= model.owner_type.downcase if model.owner_type
|
@owner_type ||= model.owner_type.downcase if model.owner_type
|
||||||
end
|
end
|
||||||
|
|
||||||
def last_build
|
|
||||||
return nil unless model.last_build_id
|
|
||||||
return model.last_build if include_last_build?
|
|
||||||
{
|
|
||||||
:@type => 'build'.freeze,
|
|
||||||
:@href => Renderer.href(:build, script_name: script_name, id: model.last_build_id),
|
|
||||||
:id => model.last_build_id,
|
|
||||||
:number => model.last_build_number,
|
|
||||||
:state => model.last_build_state.to_s,
|
|
||||||
:duration => model.last_build_duration,
|
|
||||||
:started_at => model.last_build_started_at,
|
|
||||||
:finished_at => model.last_build_finished_at,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def include_last_build?
|
|
||||||
return true if include? 'repository.last_build'.freeze
|
|
||||||
return true if include.any? { |i| i.start_with? 'build.'.freeze }
|
|
||||||
return true if included.any? { |i| i.is_a? Models::Build and i.id == model.last_build_id }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Services::Broadcasts::ForCurrentUser < Service
|
class Services::Broadcasts::ForCurrentUser < Service
|
||||||
|
params :active, prefix: :broadcast
|
||||||
|
|
||||||
def run!
|
def run!
|
||||||
raise LoginRequired unless access_control.logged_in?
|
raise LoginRequired unless access_control.logged_in?
|
||||||
query.for_user(access_control.user)
|
query.for_user(access_control.user)
|
||||||
|
|
|
@ -14,44 +14,26 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "standard",
|
"@representation" => "standard",
|
||||||
"name" => "master",
|
"name" => "master",
|
||||||
|
"default_branch" => true,
|
||||||
|
"exists_on_github" => true,
|
||||||
"repository" => {
|
"repository" => {
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => "minimal",
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master"}},
|
|
||||||
"last_build" => {
|
"last_build" => {
|
||||||
"@type" => "build",
|
"@type" => "build",
|
||||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
"@href" => "/v3/build/#{build.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.default_branch.last_build.id,
|
"id" => build.id,
|
||||||
"number" => "3",
|
"number" => build.number,
|
||||||
"state" => "configured",
|
"state" => build.state,
|
||||||
"duration" => nil,
|
"duration" => nil,
|
||||||
"event_type" => "push",
|
"event_type" => "push",
|
||||||
"previous_state" => "passed",
|
"previous_state" => "passed",
|
||||||
"started_at" => "2010-11-12T13:00:00Z",
|
"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}]},
|
|
||||||
"exists_on_github"=> true
|
|
||||||
}}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -48,17 +48,18 @@ describe Travis::API::V3::Services::Branches::Find do
|
||||||
"limit" => 1 }},
|
"limit" => 1 }},
|
||||||
"branches" => [{
|
"branches" => [{
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/#{branch.name}",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "standard",
|
"@representation" => "standard",
|
||||||
"name" => branch.name,
|
"name" => "master",
|
||||||
|
"default_branch" => true,
|
||||||
|
"exists_on_github" => true,
|
||||||
"repository" => {
|
"repository" => {
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => "minimal",
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master"}},
|
|
||||||
"last_build" => {
|
"last_build" => {
|
||||||
"@type" => "build",
|
"@type" => "build",
|
||||||
"@href" => "/v3/build/#{build.id}",
|
"@href" => "/v3/build/#{build.id}",
|
||||||
|
@ -70,28 +71,7 @@ describe Travis::API::V3::Services::Branches::Find do
|
||||||
"event_type" => "push",
|
"event_type" => "push",
|
||||||
"previous_state" => "passed",
|
"previous_state" => "passed",
|
||||||
"started_at" => "2010-11-12T13:00:00Z",
|
"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 }]},
|
|
||||||
"exists_on_github" => true }]}
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -125,17 +105,18 @@ describe Travis::API::V3::Services::Branches::Find do
|
||||||
"limit" => 1 }},
|
"limit" => 1 }},
|
||||||
"branches" => [{
|
"branches" => [{
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/#{branch.name}",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "standard",
|
"@representation" => "standard",
|
||||||
"name" => branch.name,
|
"name" => "master",
|
||||||
|
"default_branch" => true,
|
||||||
|
"exists_on_github" => true,
|
||||||
"repository" => {
|
"repository" => {
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => "minimal",
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master"}},
|
|
||||||
"last_build" => {
|
"last_build" => {
|
||||||
"@type" => "build",
|
"@type" => "build",
|
||||||
"@href" => "/v3/build/#{build.id}",
|
"@href" => "/v3/build/#{build.id}",
|
||||||
|
@ -147,28 +128,7 @@ describe Travis::API::V3::Services::Branches::Find do
|
||||||
"event_type" => "push",
|
"event_type" => "push",
|
||||||
"previous_state" => "passed",
|
"previous_state" => "passed",
|
||||||
"started_at" => "2010-11-12T13:00:00Z",
|
"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 }]},
|
|
||||||
"exists_on_github" => true }]}
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe Travis::API::V3::Services::Broadcasts::ForCurrentUser do
|
describe Travis::API::V3::Services::Broadcasts::ForCurrentUser do
|
||||||
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first }
|
||||||
# let(:user) { Travis::API::V3::Models::User.where(login: 'svenfuchs') }
|
|
||||||
|
|
||||||
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
let(:token) { Travis::Api::App::AccessToken.create(user: repo.owner, app_id: 1) }
|
||||||
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
let(:headers) {{ 'HTTP_AUTHORIZATION' => "token #{token}" }}
|
||||||
|
|
||||||
|
@ -23,61 +21,37 @@ describe Travis::API::V3::Services::Broadcasts::ForCurrentUser do
|
||||||
let(:broadcasts){ Travis::API::V3::Models::Broadcast.where(recipient_id: [repo.id, org.id, repo.owner_id, nil]) }
|
let(:broadcasts){ Travis::API::V3::Models::Broadcast.where(recipient_id: [repo.id, org.id, repo.owner_id, nil]) }
|
||||||
|
|
||||||
|
|
||||||
describe "authenticated as user with access" do
|
describe "only active broadcasts" do
|
||||||
before { get("/v3/broadcasts", {}, headers) }
|
before { get("/v3/broadcasts", {}, headers) }
|
||||||
example { expect(last_response).to be_ok }
|
example { expect(last_response).to be_ok }
|
||||||
example { expect(JSON.load(body)).to be == {
|
example { expect(JSON.load(body)).to be == {
|
||||||
"@type" => "broadcasts",
|
"@type" => "broadcasts",
|
||||||
"@href" => "/v3/broadcasts",
|
"@href" => "/v3/broadcasts",
|
||||||
"@representation" => "standard",
|
"@representation" => "standard",
|
||||||
"broadcasts" => [{
|
"broadcasts" => []
|
||||||
|
}}
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "only inactive broadcasts" do
|
||||||
|
let(:broadcast) { broadcasts.first }
|
||||||
|
before { get("/v3/broadcasts?broadcast.active=false", {}, headers) }
|
||||||
|
example { expect(last_response).to be_ok }
|
||||||
|
example { expect(JSON.load(body)["broadcasts"].first).to be == {
|
||||||
"@type" => "broadcast",
|
"@type" => "broadcast",
|
||||||
"@representation" => "standard",
|
"@representation" => "standard",
|
||||||
"id" => broadcasts[0].id,
|
"id" => broadcast.id,
|
||||||
"recipient_id" => broadcasts[0].recipient_id,
|
"message" => broadcast.message,
|
||||||
"recipient_type" => broadcasts[0].recipient_type,
|
|
||||||
"category" => broadcasts[0].category,
|
|
||||||
"kind" => nil,
|
|
||||||
"message" => broadcasts[0].message,
|
|
||||||
"expired" => nil,
|
|
||||||
"created_at" => "2010-11-12T13:00:00Z",
|
"created_at" => "2010-11-12T13:00:00Z",
|
||||||
"updated_at" => "2010-11-12T13:00:00Z" },
|
"category" => nil,
|
||||||
{
|
"active" => false,
|
||||||
"@type" => "broadcast",
|
"recipient" => {
|
||||||
"@representation"=> "standard",
|
"@type" => "repository",
|
||||||
"id" => broadcasts[1].id,
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"recipient_id" => broadcasts[1].recipient_id,
|
"@representation"=> "minimal",
|
||||||
"recipient_type" => broadcasts[1].recipient_type,
|
"id" => repo.id,
|
||||||
"category" => broadcasts[1].category,
|
"name" => repo.name,
|
||||||
"kind" => nil,
|
"slug" => repo.slug,
|
||||||
"message" => broadcasts[1].message,
|
}
|
||||||
"expired" => nil,
|
|
||||||
"created_at" => "2010-11-12T13:00:00Z",
|
|
||||||
"updated_at" => "2010-11-12T13:00:00Z"},
|
|
||||||
{
|
|
||||||
"@type" => "broadcast",
|
|
||||||
"@representation"=> "standard",
|
|
||||||
"id" => broadcasts[2].id,
|
|
||||||
"recipient_id" => broadcasts[2].recipient_id,
|
|
||||||
"recipient_type" => broadcasts[2].recipient_type,
|
|
||||||
"category" => broadcasts[2].category,
|
|
||||||
"kind" => nil,
|
|
||||||
"message" => broadcasts[2].message,
|
|
||||||
"expired" => nil,
|
|
||||||
"created_at" => "2010-11-12T13:00:00Z",
|
|
||||||
"updated_at" => "2010-11-12T13:00:00Z"},
|
|
||||||
{
|
|
||||||
"@type" => "broadcast",
|
|
||||||
"@representation"=> "standard",
|
|
||||||
"id" => broadcasts[3].id,
|
|
||||||
"recipient_id" => broadcasts[3].recipient_id,
|
|
||||||
"recipient_type" => broadcasts[3].recipient_type,
|
|
||||||
"category" => broadcasts[3].category,
|
|
||||||
"kind" => nil,
|
|
||||||
"message" => broadcasts[3].message,
|
|
||||||
"expired" => nil,
|
|
||||||
"created_at" => "2010-11-12T13:00:00Z",
|
|
||||||
"updated_at" => "2010-11-12T13:00:00Z"}]
|
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -67,21 +67,13 @@ describe Travis::API::V3::Services::Build::Find do
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => repo.name,
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@type" => "branch",
|
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"name" =>"master",
|
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}"}}},
|
|
||||||
"branch" => {
|
"branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"name" => "master",
|
"name" => "master"},
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}" }},
|
|
||||||
"commit" => {
|
"commit" => {
|
||||||
"@type" => "commit",
|
"@type" => "commit",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
|
@ -140,21 +132,13 @@ describe Travis::API::V3::Services::Build::Find do
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => "minimal",
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@type" => "branch",
|
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"name" =>"master",
|
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}"}}},
|
|
||||||
"branch" => {
|
"branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"name" => "master",
|
"name" => "master"},
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}" }},
|
|
||||||
"commit" => {
|
"commit" => {
|
||||||
"@type" => "commit",
|
"@type" => "commit",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
|
|
|
@ -90,21 +90,13 @@ describe Travis::API::V3::Services::Builds::Find do
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => "minimal",
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@type" => "branch",
|
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"name" =>"master",
|
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}"}}},
|
|
||||||
"branch" => {
|
"branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"name" => "master",
|
"name" => "master"},
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}" }},
|
|
||||||
"commit" => {
|
"commit" => {
|
||||||
"@type" => "commit",
|
"@type" => "commit",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
|
@ -191,21 +183,13 @@ describe Travis::API::V3::Services::Builds::Find do
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => "svenfuchs/minimal",
|
"name" => "minimal",
|
||||||
"default_branch" => {
|
"slug" => "svenfuchs/minimal"},
|
||||||
"@type" => "branch",
|
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"name" =>"master",
|
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}"}}},
|
|
||||||
"branch" => {
|
"branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"name" => "master",
|
"name" => "master"},
|
||||||
"last_build" => {
|
|
||||||
"@href" => "/v3/build/#{build.id}" }},
|
|
||||||
"commit" => {
|
"commit" => {
|
||||||
"@type" => "commit",
|
"@type" => "commit",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
|
|
|
@ -40,69 +40,15 @@ describe Travis::API::V3::Services::Job::Find do
|
||||||
"event_type" => build.event_type,
|
"event_type" => build.event_type,
|
||||||
"previous_state" => build.previous_state,
|
"previous_state" => build.previous_state,
|
||||||
"started_at" => "2010-11-12T12:00:00Z",
|
"started_at" => "2010-11-12T12:00:00Z",
|
||||||
"finished_at" => "2010-11-12T12:00:10Z",
|
"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,
|
"queue" => job.queue,
|
||||||
"repository" => {
|
"repository" => {
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => repo.slug,
|
"name" => repo.name,
|
||||||
"default_branch" => {
|
"slug" => repo.slug},
|
||||||
"@type" => "branch",
|
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"name" =>"master",
|
|
||||||
"last_build" => {
|
|
||||||
"@type" =>"build",
|
|
||||||
"@href" =>"/v3/build/#{default_branch.last_build.id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => default_branch.last_build.id,
|
|
||||||
"number" => default_branch.last_build.number,
|
|
||||||
"state" => default_branch.last_build.state,
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"previous_state"=>"passed",
|
|
||||||
"started_at" =>"2010-11-12T13:00:00Z",
|
|
||||||
"finished_at"=> nil,
|
|
||||||
"jobs" => [{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[0].id}",
|
|
||||||
"@representation" => "minimal",
|
|
||||||
"id" => def_branch_jobs[0].id},
|
|
||||||
{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[1].id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => def_branch_jobs[1].id},
|
|
||||||
{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[2].id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => def_branch_jobs[2].id},
|
|
||||||
{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[3].id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => def_branch_jobs[3].id}]}}},
|
|
||||||
"commit" => {
|
"commit" => {
|
||||||
"@type" => "commit",
|
"@type" => "commit",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
|
@ -164,69 +110,15 @@ describe Travis::API::V3::Services::Job::Find do
|
||||||
"event_type" => build.event_type,
|
"event_type" => build.event_type,
|
||||||
"previous_state" => build.previous_state,
|
"previous_state" => build.previous_state,
|
||||||
"started_at" => "2010-11-12T12:00:00Z",
|
"started_at" => "2010-11-12T12:00:00Z",
|
||||||
"finished_at" => "2010-11-12T12:00:10Z",
|
"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,
|
"queue" => job.queue,
|
||||||
"repository" => {
|
"repository" => {
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"id" => repo.id,
|
"id" => repo.id,
|
||||||
"slug" => repo.slug,
|
"name" => repo.name,
|
||||||
"default_branch" => {
|
"slug" => repo.slug},
|
||||||
"@type" => "branch",
|
|
||||||
"@href" =>"/v3/repo/#{repo.id}/branch/master",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"name" =>"master",
|
|
||||||
"last_build" => {
|
|
||||||
"@type" =>"build",
|
|
||||||
"@href" =>"/v3/build/#{default_branch.last_build.id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => default_branch.last_build.id,
|
|
||||||
"number" => default_branch.last_build.number,
|
|
||||||
"state" => default_branch.last_build.state,
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"previous_state"=>"passed",
|
|
||||||
"started_at" =>"2010-11-12T13:00:00Z",
|
|
||||||
"finished_at"=> nil,
|
|
||||||
"jobs" => [{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[0].id}",
|
|
||||||
"@representation" => "minimal",
|
|
||||||
"id" => def_branch_jobs[0].id},
|
|
||||||
{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[1].id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => def_branch_jobs[1].id},
|
|
||||||
{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[2].id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => def_branch_jobs[2].id},
|
|
||||||
{
|
|
||||||
"@type" => "job",
|
|
||||||
"@href" => "/v3/job/#{def_branch_jobs[3].id}",
|
|
||||||
"@representation"=>"minimal",
|
|
||||||
"id" => def_branch_jobs[3].id}]}}},
|
|
||||||
"commit" => {
|
"commit" => {
|
||||||
"@type" => "commit",
|
"@type" => "commit",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
|
|
|
@ -56,14 +56,12 @@ describe Travis::API::V3::Services::Owner::Find do
|
||||||
"github_language" => nil,
|
"github_language" => nil,
|
||||||
"active" => false,
|
"active" => false,
|
||||||
"private" => false,
|
"private" => false,
|
||||||
"last_build" => nil,
|
|
||||||
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}
|
||||||
"last_build" => nil }
|
|
||||||
}]
|
}]
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
@ -102,14 +100,12 @@ describe Travis::API::V3::Services::Owner::Find do
|
||||||
"github_language" => nil,
|
"github_language" => nil,
|
||||||
"active" => false,
|
"active" => false,
|
||||||
"private" => false,
|
"private" => false,
|
||||||
"last_build" => nil,
|
|
||||||
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
"owner" => { "@href"=> "/v3/org/#{org.id}" },
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation"=> "minimal",
|
"@representation"=> "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}
|
||||||
"last_build" => nil }
|
|
||||||
}]
|
}]
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,55 +39,11 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
||||||
"id" => repo.owner_id,
|
"id" => repo.owner_id,
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}" },
|
"@href" => "/v3/user/#{repo.owner_id}" },
|
||||||
"last_build" => {
|
|
||||||
"@type" => "build",
|
|
||||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
|
||||||
"id" => repo.last_build_id,
|
|
||||||
"number" => "2",
|
|
||||||
"state" => "passed",
|
|
||||||
"duration" => nil,
|
|
||||||
"started_at" => "2010-11-12T12:30:00Z",
|
|
||||||
"finished_at" => "2010-11-12T12:30:20Z"},
|
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}}]}}
|
||||||
"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",
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"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}]
|
|
||||||
|
|
||||||
}}}]
|
|
||||||
}}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "filter: private=false" do
|
describe "filter: private=false" do
|
||||||
|
|
|
@ -39,53 +39,11 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
||||||
"@href" => "/v3/user/#{repo.owner_id}",
|
"@href" => "/v3/user/#{repo.owner_id}",
|
||||||
"id" => repo.owner_id,
|
"id" => repo.owner_id,
|
||||||
"login" => "svenfuchs" },
|
"login" => "svenfuchs" },
|
||||||
"last_build" => {
|
|
||||||
"@type" => "build",
|
|
||||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
|
||||||
"id" => repo.last_build_id,
|
|
||||||
"number" => "2",
|
|
||||||
"state" => "passed",
|
|
||||||
"duration" => nil,
|
|
||||||
"started_at" => "2010-11-12T12:30:00Z",
|
|
||||||
"finished_at" => "2010-11-12T12:30:20Z"},
|
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}}]
|
||||||
"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",
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"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}]
|
|
||||||
}}}]
|
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -47,53 +47,11 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||||
"last_build" => {
|
|
||||||
"@type" => "build",
|
|
||||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
|
||||||
"id" => repo.last_build_id,
|
|
||||||
"number" => "2",
|
|
||||||
"state" => "passed",
|
|
||||||
"duration" => nil,
|
|
||||||
"started_at" => "2010-11-12T12:30:00Z",
|
|
||||||
"finished_at" => "2010-11-12T12:30:20Z"},
|
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}
|
||||||
"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",
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"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}]
|
|
||||||
}}
|
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -163,53 +121,11 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||||
"last_build" => {
|
|
||||||
"@type" => "build",
|
|
||||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
|
||||||
"id" => repo.last_build_id,
|
|
||||||
"number" => "2",
|
|
||||||
"state" => "passed",
|
|
||||||
"duration" => nil,
|
|
||||||
"started_at" => "2010-11-12T12:30:00Z",
|
|
||||||
"finished_at" => "2010-11-12T12:30:20Z"},
|
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}
|
||||||
"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",
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"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}]
|
|
||||||
}}
|
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -264,53 +180,11 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||||
"last_build" => {
|
|
||||||
"@type" => "build",
|
|
||||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
|
||||||
"id" => repo.last_build_id,
|
|
||||||
"number" => "2",
|
|
||||||
"state" => "passed",
|
|
||||||
"duration" => nil,
|
|
||||||
"started_at" => "2010-11-12T12:30:00Z",
|
|
||||||
"finished_at" => "2010-11-12T12:30:20Z"},
|
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}
|
||||||
"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",
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"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}]
|
|
||||||
}}
|
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -371,53 +245,11 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"login" => "svenfuchs",
|
"login" => "svenfuchs",
|
||||||
"@type" => "user",
|
"@type" => "user",
|
||||||
"@href" => "/v3/user/#{repo.owner_id}"},
|
"@href" => "/v3/user/#{repo.owner_id}"},
|
||||||
"last_build" => {
|
|
||||||
"@type" => "build",
|
|
||||||
"@href" => "/v3/build/#{repo.last_build_id}",
|
|
||||||
"id" => repo.last_build_id,
|
|
||||||
"number" => "2",
|
|
||||||
"state" => "passed",
|
|
||||||
"duration" => nil,
|
|
||||||
"started_at" => "2010-11-12T12:30:00Z",
|
|
||||||
"finished_at" => "2010-11-12T12:30:20Z"},
|
|
||||||
"default_branch" => {
|
"default_branch" => {
|
||||||
"@type" => "branch",
|
"@type" => "branch",
|
||||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||||
"@representation" => "minimal",
|
"@representation" => "minimal",
|
||||||
"name" => "master",
|
"name" => "master"}
|
||||||
"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",
|
|
||||||
"duration" => nil,
|
|
||||||
"event_type" => "push",
|
|
||||||
"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}]
|
|
||||||
}}
|
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -431,11 +263,9 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "including full owner and full last build" do
|
describe "including full owner" do
|
||||||
before { get("/v3/repo/#{repo.id}?include=repository.owner,repository.last_build") }
|
before { get("/v3/repo/#{repo.id}?include=repository.owner") }
|
||||||
example { expect(last_response).to be_ok }
|
example { expect(last_response).to be_ok }
|
||||||
example { expect(parsed_body['last_build']['state']).to be == 'passed' }
|
|
||||||
example { expect(parsed_body['last_build']['repository']).to be == { "@href" => "/v3/repo/#{repo.id}" } }
|
|
||||||
example { expect(parsed_body['owner']).to include("github_id", "is_syncing", "synced_at")}
|
example { expect(parsed_body['owner']).to include("github_id", "is_syncing", "synced_at")}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -458,10 +288,4 @@ describe Travis::API::V3::Services::Repository::Find do
|
||||||
"error_message" => "illegal format for include parameter"
|
"error_message" => "illegal format for include parameter"
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "including nested objects" do
|
|
||||||
before { get("/v3/repo/#{repo.id}?include=repository.last_build,build.branch") }
|
|
||||||
example { expect(last_response).to be_ok }
|
|
||||||
example { expect(parsed_body).to include("last_build") }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user