diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-08-01 14:38:32 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-08-01 14:38:32 +0300 |
commit | c2be21a6d6fece36f61ed61d4aed353e4de2c58d (patch) | |
tree | bf1f8f7eec75439dd6fc05d8248e311245381664 /spec/requests | |
parent | 79405774b217d5f190e880baad588b51b257c51d (diff) | |
parent | 34ec29b9566900308989e15865e6df1059bd9b46 (diff) |
Merge branch 'fix-multiple-scopes' into 'master'
Support multiple scopes when authing container registry scopes
Closes #48968
See merge request gitlab-org/gitlab-ce!20617
Diffstat (limited to 'spec/requests')
-rw-r--r-- | spec/requests/jwt_controller_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/requests/jwt_controller_spec.rb b/spec/requests/jwt_controller_spec.rb index 6f40a02aaa9..e042d772718 100644 --- a/spec/requests/jwt_controller_spec.rb +++ b/spec/requests/jwt_controller_spec.rb @@ -70,6 +70,25 @@ describe JwtController do it { expect(service_class).to have_received(:new).with(nil, user, parameters) } + context 'when passing a flat array of scopes' do + # We use this trick to make rails to generate a query_string: + # scope=scope1&scope=scope2 + # It works because :scope and 'scope' are the same as string, but different objects + let(:parameters) do + { + :service => service_name, + :scope => 'scope1', + 'scope' => 'scope2' + } + end + + let(:service_parameters) do + { service: service_name, scopes: %w(scope1 scope2) } + end + + it { expect(service_class).to have_received(:new).with(nil, user, service_parameters) } + end + context 'when user has 2FA enabled' do let(:user) { create(:user, :two_factor) } |