adjust cron API path
This commit is contained in:
parent
598ca6c2ca
commit
05d2e4767e
|
@ -32,8 +32,7 @@ module Travis::API::V3
|
||||||
capture id: :digit
|
capture id: :digit
|
||||||
route '/cron/{cron.id}'
|
route '/cron/{cron.id}'
|
||||||
get :find
|
get :find
|
||||||
|
delete :delete
|
||||||
post :delete, '/delete'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
resource :job do
|
resource :job do
|
||||||
|
@ -88,8 +87,7 @@ module Travis::API::V3
|
||||||
resource :cron do
|
resource :cron do
|
||||||
route '/cron'
|
route '/cron'
|
||||||
get :for_branch
|
get :for_branch
|
||||||
|
post :create
|
||||||
post :create, '/create'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,10 @@ module Travis::API::V3
|
||||||
current_resource.add_service('POST'.freeze, *args)
|
current_resource.add_service('POST'.freeze, *args)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def delete(*args)
|
||||||
|
current_resource.add_service('DELETE'.freeze, *args)
|
||||||
|
end
|
||||||
|
|
||||||
def draw_routes
|
def draw_routes
|
||||||
resources.each do |resource|
|
resources.each do |resource|
|
||||||
prefix = resource.route
|
prefix = resource.route
|
||||||
|
|
|
@ -14,7 +14,7 @@ describe Travis::API::V3::Services::Cron::Create do
|
||||||
describe "creating a cron job" do
|
describe "creating a cron job" do
|
||||||
before { last_cron }
|
before { last_cron }
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
||||||
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron/create", options, headers) }
|
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron", options, headers) }
|
||||||
example { expect(current_cron == last_cron).to be_falsey }
|
example { expect(current_cron == last_cron).to be_falsey }
|
||||||
example { expect(last_response).to be_ok }
|
example { expect(last_response).to be_ok }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
|
@ -45,8 +45,8 @@ describe Travis::API::V3::Services::Cron::Create do
|
||||||
|
|
||||||
describe "creating multiple cron jobs for one branch" do
|
describe "creating multiple cron jobs for one branch" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
||||||
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron/create", options, headers) }
|
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron", options, headers) }
|
||||||
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron/create", options, headers) }
|
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron", options, headers) }
|
||||||
it "only stores one" do
|
it "only stores one" do
|
||||||
expect(Travis::API::V3::Models::Cron.where(branch_id: branch.id).count).to eq(1)
|
expect(Travis::API::V3::Models::Cron.where(branch_id: branch.id).count).to eq(1)
|
||||||
end
|
end
|
||||||
|
@ -57,13 +57,13 @@ describe Travis::API::V3::Services::Cron::Create do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
||||||
it "raises an error" do
|
it "raises an error" do
|
||||||
expect {
|
expect {
|
||||||
post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron/create", wrong_options, headers)
|
post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron", wrong_options, headers)
|
||||||
}.to raise_error(ArgumentError, 'interval must be "daily", "weekly" or "monthly"')
|
}.to raise_error(ArgumentError, 'interval must be "daily", "weekly" or "monthly"')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "try creating a cron job without login" do
|
describe "try creating a cron job without login" do
|
||||||
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron/create", options) }
|
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron", options) }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
"error_type" => "login_required",
|
"error_type" => "login_required",
|
||||||
|
@ -73,7 +73,7 @@ describe Travis::API::V3::Services::Cron::Create do
|
||||||
|
|
||||||
describe "try creating a cron job with a user without permissions" do
|
describe "try creating a cron job with a user without permissions" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
||||||
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron/create", options, headers) }
|
before { post("/v3/repo/#{repo.id}/branch/#{branch.name}/cron", options, headers) }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
"error_type" => "insufficient_access",
|
"error_type" => "insufficient_access",
|
||||||
|
@ -92,7 +92,7 @@ describe Travis::API::V3::Services::Cron::Create do
|
||||||
|
|
||||||
describe "creating cron on a non-existing repository by slug" do
|
describe "creating cron on a non-existing repository by slug" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
||||||
before { post("/v3/repo/svenfuchs%2Fminimal1/branch/master/cron/create", options, headers) }
|
before { post("/v3/repo/svenfuchs%2Fminimal1/branch/master/cron", options, headers) }
|
||||||
example { expect(last_response).to be_not_found }
|
example { expect(last_response).to be_not_found }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
|
@ -104,7 +104,7 @@ describe Travis::API::V3::Services::Cron::Create do
|
||||||
|
|
||||||
describe "creating cron on a non-existing branch" do
|
describe "creating cron on a non-existing branch" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
||||||
before { post("/v3/repo/#{repo.id}/branch/hopefullyNonExistingBranch/cron/create", options, headers) }
|
before { post("/v3/repo/#{repo.id}/branch/hopefullyNonExistingBranch/cron", options, headers) }
|
||||||
example { expect(last_response).to be_not_found }
|
example { expect(last_response).to be_not_found }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
|
|
|
@ -10,7 +10,7 @@ describe Travis::API::V3::Services::Cron::Delete do
|
||||||
|
|
||||||
describe "deleting a cron job by id" do
|
describe "deleting a cron job by id" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: true) }
|
||||||
before { post("/v3/cron/#{cron.id}/delete", {}, headers) }
|
before { delete("/v3/cron/#{cron.id}", {}, headers) }
|
||||||
example { expect(last_response).to be_ok }
|
example { expect(last_response).to be_ok }
|
||||||
example { expect(Travis::API::V3::Models::Cron.where(id: cron.id)).to be_empty }
|
example { expect(Travis::API::V3::Models::Cron.where(id: cron.id)).to be_empty }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
|
@ -40,7 +40,7 @@ describe Travis::API::V3::Services::Cron::Delete do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "try deleting a cron job without login" do
|
describe "try deleting a cron job without login" do
|
||||||
before { post("/v3/cron/#{cron.id}/delete") }
|
before { delete("/v3/cron/#{cron.id}") }
|
||||||
example { expect(Travis::API::V3::Models::Cron.where(id: cron.id)).to exist }
|
example { expect(Travis::API::V3::Models::Cron.where(id: cron.id)).to exist }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
|
@ -51,7 +51,7 @@ describe Travis::API::V3::Services::Cron::Delete do
|
||||||
|
|
||||||
describe "try deleting a cron job with a user without permissions" do
|
describe "try deleting a cron job with a user without permissions" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
||||||
before { post("/v3/cron/#{cron.id}/delete", {}, headers) }
|
before { delete("/v3/cron/#{cron.id}", {}, headers) }
|
||||||
example { expect(Travis::API::V3::Models::Cron.where(id: cron.id)).to exist }
|
example { expect(Travis::API::V3::Models::Cron.where(id: cron.id)).to exist }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
|
@ -69,7 +69,7 @@ describe Travis::API::V3::Services::Cron::Delete do
|
||||||
|
|
||||||
describe "try deleting a non-existing cron job" do
|
describe "try deleting a non-existing cron job" do
|
||||||
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
before { Travis::API::V3::Models::Permission.create(repository: repo, user: repo.owner, push: false) }
|
||||||
before { post("/v3/cron/999999999999999/delete", {}, headers) }
|
before { delete("/v3/cron/999999999999999", {}, headers) }
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "error",
|
"@type" => "error",
|
||||||
"error_type" => "not_found",
|
"error_type" => "not_found",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user