summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/auth_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/auth_spec.rb')
-rw-r--r--spec/lib/gitlab/auth_spec.rb26
1 files changed, 24 insertions, 2 deletions
diff --git a/spec/lib/gitlab/auth_spec.rb b/spec/lib/gitlab/auth_spec.rb
index 7f06e66ad50..d529d4a96e1 100644
--- a/spec/lib/gitlab/auth_spec.rb
+++ b/spec/lib/gitlab/auth_spec.rb
@@ -196,8 +196,8 @@ RSpec.describe Gitlab::Auth, :use_clean_rails_memory_store_caching do
end
it 'recognizes other ci services' do
- project.create_drone_ci_service(active: true)
- project.drone_ci_service.update(token: 'token')
+ project.create_drone_ci_integration(active: true)
+ project.drone_ci_integration.update(token: 'token')
expect(gl_auth.find_for_git_client('drone-ci-token', 'token', project: project, ip: 'ip')).to eq(Gitlab::Auth::Result.new(nil, project, :ci, described_class.build_authentication_abilities))
end
@@ -683,6 +683,28 @@ RSpec.describe Gitlab::Auth, :use_clean_rails_memory_store_caching do
end
end
+ describe '#build_access_token_check' do
+ subject { gl_auth.find_for_git_client('gitlab-ci-token', build.token, project: build.project, ip: '1.2.3.4') }
+
+ let_it_be(:user) { create(:user) }
+
+ context 'for running build' do
+ let!(:build) { create(:ci_build, :running, user: user) }
+
+ it 'executes query using primary database' do
+ expect(Ci::Build).to receive(:find_by_token).with(build.token).and_wrap_original do |m, *args|
+ expect(::Gitlab::Database::LoadBalancing::Session.current.use_primary?).to eq(true)
+ m.call(*args)
+ end
+
+ expect(subject).to be_a(Gitlab::Auth::Result)
+ expect(subject.actor).to eq(user)
+ expect(subject.project).to eq(build.project)
+ expect(subject.type).to eq(:build)
+ end
+ end
+ end
+
describe 'find_with_user_password' do
let!(:user) do
create(:user,