Skip to content

Commit

Permalink
Fix trigger controller's #release method spec failures
Browse files Browse the repository at this point in the history
  • Loading branch information
danidoni authored and Dany Marcoux committed Apr 26, 2021
1 parent 7dca4d5 commit 10fd346
Showing 1 changed file with 10 additions and 15 deletions.
25 changes: 10 additions & 15 deletions src/api/spec/controllers/trigger_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,13 @@

describe '#release' do
context 'for inexistent project' do
let(:token) { Token::Release.create(user: admin, package: package) }

before do
post :release, params: { project: 'foo', format: :xml }
post :create, params: { project: 'foo', format: :xml }
end

it { expect(response).to have_http_status(:forbidden) }
it { expect(response).to have_http_status(:not_found) }
end

context 'when token is valid and package exists' do
Expand All @@ -82,7 +84,7 @@
release_target
allow(Backend::Connection).to receive(:post).and_call_original
allow(Backend::Connection).to receive(:post).with(backend_url).and_return("<status code=\"ok\" />\n")
post :release, params: { package: package, format: :xml }
post :create, params: { package: package, format: :xml }
end

it { expect(response).to have_http_status(:success) }
Expand All @@ -94,12 +96,10 @@

before do
allow(User).to receive(:session!).and_return(user)
allow(::TriggerControllerService::TokenExtractor).to receive(:new) {
-> { OpenStruct.new(valid?: true, token: token) }
}
post :create, params: { package: package, format: :xml }
end

it { expect { post :release, params: { package: package, format: :xml } }.to raise_error.with_message(/no permission for package/) }
it { expect(response).to have_http_status(:forbidden) }
end

context 'when user has no rights for target' do
Expand All @@ -111,10 +111,7 @@
release_target
allow(User).to receive(:session!).and_return(user)
allow(User).to receive(:possibly_nobody).and_return(user)
allow(::TriggerControllerService::TokenExtractor).to receive(:new) {
-> { OpenStruct.new(valid?: true, token: token) }
}
post :release, params: { package: package, format: :xml }
post :create, params: { package: package, format: :xml }
end

it { expect(response).to have_http_status(:forbidden) }
Expand All @@ -129,12 +126,10 @@
before do
allow(User).to receive(:session!).and_return(user)
allow(User).to receive(:possibly_nobody).and_return(user)
allow(::TriggerControllerService::TokenExtractor).to receive(:new) {
-> { OpenStruct.new(valid?: true, token: token) }
}
post :create, params: { package: package, format: :xml }
end

it { expect { post :release, params: { package: package, format: :xml } }.to raise_error.with_message(/has no release targets that are triggered manually/) }
it { expect(response).to have_http_status(:not_found) }
end
end

Expand Down

0 comments on commit 10fd346

Please sign in to comment.