175 lines
5.7 KiB
Ruby
175 lines
5.7 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'v1' do
|
|
let(:format) { :json }
|
|
let(:params) { { :controller => controller, :action => action, :format => format } }
|
|
|
|
describe 'GET to repositories.json' do
|
|
let(:controller) { 'v1/repositories' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::RepositoriesController#index' do
|
|
{ :get => 'repositories.json' }.should route_to(params)
|
|
end
|
|
end
|
|
|
|
describe 'GET to repositories/1.json' do
|
|
let(:controller) { 'v1/repositories' }
|
|
let(:action) { :show }
|
|
|
|
it 'routes to V1::RepositoriesController#show' do
|
|
{ :get => 'repositories/1.json' }.should route_to(params.merge(:id => 1))
|
|
end
|
|
end
|
|
|
|
describe 'GET to builds.json' do
|
|
let(:controller) { 'v1/builds' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::BuildsController#index' do
|
|
{ :get => 'builds.json' }.should route_to(params)
|
|
end
|
|
end
|
|
|
|
describe 'GET to builds/1.json' do
|
|
let(:controller) { 'v1/builds' }
|
|
let(:action) { :show }
|
|
|
|
it 'routes to V1::BuildsController#show' do
|
|
{ :get => 'builds/1.json' }.should route_to(params.merge(:id => 1))
|
|
end
|
|
end
|
|
|
|
describe 'GET to branches.json' do
|
|
let(:controller) { 'v1/branches' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::BranchesController#index' do
|
|
{ :get => 'branches.json' }.should route_to(params)
|
|
end
|
|
end
|
|
|
|
describe 'GET to jobs.json' do
|
|
let(:controller) { 'v1/jobs' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::JobsController#index' do
|
|
{ :get => 'jobs.json' }.should route_to(params)
|
|
end
|
|
end
|
|
|
|
describe 'GET to jobs/1.json' do
|
|
let(:controller) { 'v1/jobs' }
|
|
let(:action) { :show }
|
|
|
|
it 'routes to V1::JobsController#show' do
|
|
{ :get => 'jobs/1.json' }.should route_to(params.merge(:id => 1))
|
|
end
|
|
end
|
|
|
|
describe 'GET to workers.json' do
|
|
let(:controller) { 'v1/workers' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::WorkersController#index' do
|
|
{ :get => 'workers.json' }.should route_to(params)
|
|
end
|
|
end
|
|
|
|
describe 'GET to service_hooks.json' do
|
|
let(:controller) { 'v1/service_hooks' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::RepositoriesController#index' do
|
|
{ :get => 'service_hooks.json' }.should route_to(params)
|
|
end
|
|
end
|
|
|
|
describe 'PUT to service_hooks.json' do
|
|
let(:controller) { 'v1/service_hooks' }
|
|
let(:action) { :update }
|
|
|
|
it 'routes to V1::RepositoriesController#update' do
|
|
hook_params = params.merge(:id => 'svenfuchs:minimal')
|
|
hook_params.delete(:format)
|
|
|
|
{ :put => 'service_hooks/svenfuchs:minimal' }.should route_to(hook_params)
|
|
end
|
|
end
|
|
|
|
describe 'GET to :owner_name/:name.json' do
|
|
let(:controller) { 'v1/repositories' }
|
|
let(:action) { :show }
|
|
|
|
it 'routes to V1::RepositoriesController#show' do
|
|
{ :get => 'owner/name.json' }.should route_to(params.merge(:owner_name => 'owner', :name => 'name'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show when owner contains dots' do
|
|
{ :get => 'some.owner/name.json' }.should route_to(params.merge(:owner_name => 'some.owner', :name => 'name'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show when repository name contains dots' do
|
|
{ :get => 'owner/some.name.json' }.should route_to(params.merge(:owner_name => 'owner', :name => 'some.name'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show when owner name and repository name contains dots' do
|
|
{ :get => 'some.owner/some.name.json' }.should route_to(params.merge(:owner_name => 'some.owner', :name => 'some.name'))
|
|
end
|
|
end
|
|
|
|
describe 'GET to :owner_name/:name.png' do
|
|
let(:controller) { 'v1/repositories' }
|
|
let(:action) { :show }
|
|
let(:format) { :png }
|
|
|
|
it 'routes to V1::RepositoriesController#show' do
|
|
{ :get => 'owner/name.png' }.should route_to(params.merge(:owner_name => 'owner', :name => 'name'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show when owner contains dots' do
|
|
{ :get => 'some.owner/name.png' }.should route_to(params.merge(:owner_name => 'some.owner', :name => 'name'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show when repository name contains dots' do
|
|
{ :get => 'owner/some.name.png' }.should route_to(params.merge(:owner_name => 'owner', :name => 'some.name'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show when owner name and repository name contains dots' do
|
|
{ :get => 'some.owner/some.name.png' }.should route_to(params.merge(:owner_name => 'some.owner', :name => 'some.name'))
|
|
end
|
|
end
|
|
|
|
describe 'GET to :owner_name/:name/cc.xml' do
|
|
let(:controller) { 'v1/repositories' }
|
|
let(:action) { :show }
|
|
let(:format) { :xml }
|
|
|
|
it 'routes to V1::RepositoriesController#show in XML format with the cctray schema' do
|
|
{ :get => 'owner/name/cc.xml' }.should route_to(params.merge(:owner_name => 'owner', :name => 'name', :schema => 'cctray'))
|
|
end
|
|
|
|
it 'routes to V1::RepositoriesController#show in XML format with the cctray schema when owner and repository name contains dots' do
|
|
{ :get => 'some.owner/some.name/cc.xml' }.should route_to(params.merge(:owner_name => 'some.owner', :name => 'some.name', :schema => 'cctray'))
|
|
end
|
|
end
|
|
|
|
describe 'GET to :owner_name/:name/builds.json' do
|
|
let(:controller) { 'v1/builds' }
|
|
let(:action) { :index }
|
|
|
|
it 'routes to V1::BuildsController#index' do
|
|
{ :get => 'owner/name/builds.json' }.should route_to(params.merge(:owner_name => 'owner', :name => 'name'))
|
|
end
|
|
end
|
|
|
|
describe 'GET to :owner_name/:name/builds/:id.json' do
|
|
let(:controller) { 'v1/builds' }
|
|
let(:action) { :show }
|
|
|
|
it 'routes to V1::BuildsController#show' do
|
|
{ :get => 'owner/name/builds/1.json' }.should route_to(params.merge(:owner_name => 'owner', :name => 'name', :id => 1))
|
|
end
|
|
end
|
|
end
|