Skip to content

Commit

Permalink
Merge pull request #11038 from danidoni/fix-trigger-controller-releas…
Browse files Browse the repository at this point in the history
…e-method-spec-failures

Fix trigger controller's release method spec failures
  • Loading branch information
vpereira committed Apr 26, 2021
2 parents f6bc366 + 1de0f22 commit 1ac1082
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 @@ -45,11 +45,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 @@ -65,7 +67,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 @@ -77,12 +79,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 @@ -94,10 +94,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 @@ -112,12 +109,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 1ac1082

Please sign in to comment.