diff options
Diffstat (limited to 'spec/lib/gitlab/api_authentication/token_locator_spec.rb')
-rw-r--r-- | spec/lib/gitlab/api_authentication/token_locator_spec.rb | 109 |
1 files changed, 107 insertions, 2 deletions
diff --git a/spec/lib/gitlab/api_authentication/token_locator_spec.rb b/spec/lib/gitlab/api_authentication/token_locator_spec.rb index e933fd8352e..4b19a3d5846 100644 --- a/spec/lib/gitlab/api_authentication/token_locator_spec.rb +++ b/spec/lib/gitlab/api_authentication/token_locator_spec.rb @@ -36,7 +36,7 @@ RSpec.describe Gitlab::APIAuthentication::TokenLocator do let(:request) { double(authorization: nil) } it 'returns nil' do - expect(subject).to be(nil) + expect(subject).to be_nil end end @@ -59,7 +59,7 @@ RSpec.describe Gitlab::APIAuthentication::TokenLocator do let(:request) { double(headers: {}) } it 'returns nil' do - expect(subject).to be(nil) + expect(subject).to be_nil end end @@ -72,5 +72,110 @@ RSpec.describe Gitlab::APIAuthentication::TokenLocator do end end end + + context 'with :http_bearer_token' do + let(:type) { :http_bearer_token } + + context 'without credentials' do + let(:request) { double(headers: {}) } + + it 'returns nil' do + expect(subject).to be_nil + end + end + + context 'with credentials' do + let(:password) { 'bar' } + let(:request) { double(headers: { "Authorization" => "Bearer #{password}" }) } + + it 'returns the credentials' do + expect(subject.password).to eq(password) + end + end + end + + context 'with :http_deploy_token_header' do + let(:type) { :http_deploy_token_header } + + context 'without credentials' do + let(:request) { double(headers: {}) } + + it 'returns nil' do + expect(subject).to be(nil) + end + end + + context 'with credentials' do + let(:password) { 'bar' } + let(:request) { double(headers: { 'Deploy-Token' => password }) } + + it 'returns the credentials' do + expect(subject.password).to eq(password) + end + end + end + + context 'with :http_job_token_header' do + let(:type) { :http_job_token_header } + + context 'without credentials' do + let(:request) { double(headers: {}) } + + it 'returns nil' do + expect(subject).to be(nil) + end + end + + context 'with credentials' do + let(:password) { 'bar' } + let(:request) { double(headers: { 'Job-Token' => password }) } + + it 'returns the credentials' do + expect(subject.password).to eq(password) + end + end + end + + context 'with :http_private_token_header' do + let(:type) { :http_private_token_header } + + context 'without credentials' do + let(:request) { double(headers: {}) } + + it 'returns nil' do + expect(subject).to be(nil) + end + end + + context 'with credentials' do + let(:password) { 'bar' } + let(:request) { double(headers: { 'Private-Token' => password }) } + + it 'returns the credentials' do + expect(subject.password).to eq(password) + end + end + end + + context 'with :token_param' do + let(:type) { :token_param } + + context 'without credentials' do + let(:request) { double(query_parameters: {}) } + + it 'returns nil' do + expect(subject).to be_nil + end + end + + context 'with credentials' do + let(:password) { 'bar' } + let(:request) { double(query_parameters: { 'token' => password }) } + + it 'returns the credentials' do + expect(subject.password).to eq(password) + end + end + end end end |