diff --git a/Gemfile.lock b/Gemfile.lock index 7ad96e08..42e0eaf0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -45,7 +45,7 @@ GIT GIT remote: git://github.com/travis-ci/travis-core.git - revision: 6119f4ad0938a43926c45d70564b090d96e61e61 + revision: 95a7609e30222f0f9600eed27b4df273868a3448 specs: travis-core (0.0.1) actionmailer (~> 3.2.19) diff --git a/lib/travis/api/app/endpoint/singleton_settings_endpoint.rb b/lib/travis/api/app/endpoint/singleton_settings_endpoint.rb index d87afe8a..69429c37 100644 --- a/lib/travis/api/app/endpoint/singleton_settings_endpoint.rb +++ b/lib/travis/api/app/endpoint/singleton_settings_endpoint.rb @@ -7,9 +7,9 @@ class Travis::Api::App def create_settings_class(name) klass = Class.new(self) do define_method(:name) { name } - get("/", scope: :private) do show end - patch("/", scope: :private) do update end - delete("/", scope: :private) do destroy end + get("/:repository_id", scope: :private) do show end + patch("/:repository_id", scope: :private) do update end + delete("/:repository_id", scope: :private) do destroy end end end end diff --git a/spec/integration/singleton_settings_endpoint_spec.rb b/spec/integration/singleton_settings_endpoint_spec.rb index 061c7baa..2d16794f 100644 --- a/spec/integration/singleton_settings_endpoint_spec.rb +++ b/spec/integration/singleton_settings_endpoint_spec.rb @@ -41,14 +41,14 @@ describe Travis::Api::App::SettingsEndpoint do item = settings.create(:item, name: 'an item', secret: 'TEH SECRET') settings.save - response = get '/settings/item', { repository_id: repo.id }, headers + response = get "/settings/item/#{repo.id}", {}, headers json = JSON.parse(response.body) json['item']['name'].should == 'an item' json['item'].should_not have_key('secret') end it 'returns 404 if item can\'t be found' do - response = get '/settings/item', { repository_id: repo.id }, headers + response = get "/settings/item/#{repo.id}", {}, headers json = JSON.parse(response.body) json['error'].should == "Could not find a requested setting" end @@ -61,7 +61,7 @@ describe Travis::Api::App::SettingsEndpoint do settings.save body = { item: { name: 'a new name', secret: 'a new secret' } }.to_json - response = patch "/settings/item?repository_id=#{repo.id}", body, headers + response = patch "/settings/item/#{repo.id}", body, headers json = JSON.parse(response.body) json['item']['name'].should == 'a new name' json['item'].should_not have_key('secret') @@ -75,7 +75,7 @@ describe Travis::Api::App::SettingsEndpoint do repo.settings.item.should be_nil body = { item: { name: 'a name', secret: 'a secret' } }.to_json - response = patch "/settings/item?repository_id=#{repo.id}", body, headers + response = patch "/settings/item/#{repo.id}", body, headers json = JSON.parse(response.body) json['item']['name'].should == 'a name' json['item'].should_not have_key('secret') @@ -87,7 +87,7 @@ describe Travis::Api::App::SettingsEndpoint do it 'returns an error message if item is invalid' do body = { item: { name: '' } }.to_json - response = patch "/settings/item?repository_id=#{repo.id}", body, headers + response = patch "/settings/item/#{repo.id}", body, headers response.status.should == 422 json = JSON.parse(response.body) @@ -110,8 +110,7 @@ describe Travis::Api::App::SettingsEndpoint do item = settings.create(:item, name: 'an item') settings.save - params = { repository_id: repo.id } - response = delete '/settings/item', params, headers + response = delete "/settings/item/#{repo.id}", {}, headers json = JSON.parse(response.body) json['item']['name'].should == 'an item' json['item'].should_not have_key('secret')