diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-07-13 19:45:07 +0200 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-08-01 13:03:16 +0200 |
commit | 34ec29b9566900308989e15865e6df1059bd9b46 (patch) | |
tree | f743f6d9f1b637ab6bad9463e1fe08abb7c7676f /spec/requests/jwt_controller_spec.rb | |
parent | 3d2dad449da2915b2c431bf32548e03b08fcbe40 (diff) | |
download | gitlab-ce-34ec29b9566900308989e15865e6df1059bd9b46.tar.gz |
Support multiple scopes when using authing container registry scopes
Diffstat (limited to 'spec/requests/jwt_controller_spec.rb')
-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) } |