diff options
Diffstat (limited to 'spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb index 83ba72c12aa..acaa0d8c2bc 100644 --- a/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true RSpec.shared_context 'Debian repository shared context' do |object_type| + include_context 'workhorse headers' + before do stub_feature_flags(debian_packages: true) end @@ -37,16 +39,15 @@ RSpec.shared_context 'Debian repository shared context' do |object_type| let(:params) { workhorse_params } let(:auth_headers) { {} } - let(:workhorse_token) { JWT.encode({ 'iss' => 'gitlab-workhorse' }, Gitlab::Workhorse.secret, 'HS256') } - let(:workhorse_headers) do + let(:wh_headers) do if method == :put - { 'GitLab-Workhorse' => '1.0', Gitlab::Workhorse::INTERNAL_API_REQUEST_HEADER => workhorse_token } + workhorse_headers else {} end end - let(:headers) { auth_headers.merge(workhorse_headers) } + let(:headers) { auth_headers.merge(wh_headers) } let(:send_rewritten_field) { true } @@ -201,7 +202,7 @@ RSpec.shared_examples 'rejects Debian access with unknown project id' do let(:project) { double(id: non_existing_record_id) } context 'as anonymous' do - it_behaves_like 'Debian project repository GET request', :anonymous, true, :not_found, nil + it_behaves_like 'Debian project repository GET request', :anonymous, true, :unauthorized, nil end context 'as authenticated user' do @@ -228,13 +229,13 @@ RSpec.shared_examples 'Debian project repository GET endpoint' do |success_statu 'PUBLIC' | :anonymous | false | true | success_status | success_body 'PRIVATE' | :developer | true | true | success_status | success_body 'PRIVATE' | :guest | true | true | :forbidden | nil - 'PRIVATE' | :developer | true | false | :not_found | nil - 'PRIVATE' | :guest | true | false | :not_found | nil + 'PRIVATE' | :developer | true | false | :unauthorized | nil + 'PRIVATE' | :guest | true | false | :unauthorized | nil 'PRIVATE' | :developer | false | true | :not_found | nil 'PRIVATE' | :guest | false | true | :not_found | nil - 'PRIVATE' | :developer | false | false | :not_found | nil - 'PRIVATE' | :guest | false | false | :not_found | nil - 'PRIVATE' | :anonymous | false | true | :not_found | nil + 'PRIVATE' | :developer | false | false | :unauthorized | nil + 'PRIVATE' | :guest | false | false | :unauthorized | nil + 'PRIVATE' | :anonymous | false | true | :unauthorized | nil end with_them do @@ -263,13 +264,13 @@ RSpec.shared_examples 'Debian project repository PUT endpoint' do |success_statu 'PUBLIC' | :anonymous | false | true | :unauthorized | nil 'PRIVATE' | :developer | true | true | success_status | nil 'PRIVATE' | :guest | true | true | :forbidden | nil - 'PRIVATE' | :developer | true | false | :not_found | nil - 'PRIVATE' | :guest | true | false | :not_found | nil + 'PRIVATE' | :developer | true | false | :unauthorized | nil + 'PRIVATE' | :guest | true | false | :unauthorized | nil 'PRIVATE' | :developer | false | true | :not_found | nil 'PRIVATE' | :guest | false | true | :not_found | nil - 'PRIVATE' | :developer | false | false | :not_found | nil - 'PRIVATE' | :guest | false | false | :not_found | nil - 'PRIVATE' | :anonymous | false | true | :not_found | nil + 'PRIVATE' | :developer | false | false | :unauthorized | nil + 'PRIVATE' | :guest | false | false | :unauthorized | nil + 'PRIVATE' | :anonymous | false | true | :unauthorized | nil end with_them do @@ -321,7 +322,7 @@ RSpec.shared_examples 'rejects Debian access with unknown group id' do let(:group) { double(id: non_existing_record_id) } context 'as anonymous' do - it_behaves_like 'Debian group repository GET request', :anonymous, true, :not_found, nil + it_behaves_like 'Debian group repository GET request', :anonymous, true, :unauthorized, nil end context 'as authenticated user' do @@ -348,13 +349,13 @@ RSpec.shared_examples 'Debian group repository GET endpoint' do |success_status, 'PUBLIC' | :anonymous | false | true | success_status | success_body 'PRIVATE' | :developer | true | true | success_status | success_body 'PRIVATE' | :guest | true | true | :forbidden | nil - 'PRIVATE' | :developer | true | false | :not_found | nil - 'PRIVATE' | :guest | true | false | :not_found | nil + 'PRIVATE' | :developer | true | false | :unauthorized | nil + 'PRIVATE' | :guest | true | false | :unauthorized | nil 'PRIVATE' | :developer | false | true | :not_found | nil 'PRIVATE' | :guest | false | true | :not_found | nil - 'PRIVATE' | :developer | false | false | :not_found | nil - 'PRIVATE' | :guest | false | false | :not_found | nil - 'PRIVATE' | :anonymous | false | true | :not_found | nil + 'PRIVATE' | :developer | false | false | :unauthorized | nil + 'PRIVATE' | :guest | false | false | :unauthorized | nil + 'PRIVATE' | :anonymous | false | true | :unauthorized | nil end with_them do |