summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/sidekiq_middleware
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-04 18:08:50 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-04 18:08:50 +0000
commitca05512007cea51e05d3431b2c8bd7228c754370 (patch)
tree5202d429acd68c071445aff9e352379173ec9c0b /spec/lib/gitlab/sidekiq_middleware
parent6b833f1e0340e00fdee074da9c42c0d4e07a46d2 (diff)
downloadgitlab-ce-ca05512007cea51e05d3431b2c8bd7228c754370.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab/sidekiq_middleware')
-rw-r--r--spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb94
-rw-r--r--spec/lib/gitlab/sidekiq_middleware/admin_mode/server_spec.rb72
2 files changed, 0 insertions, 166 deletions
diff --git a/spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb b/spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb
deleted file mode 100644
index f6449bae8c3..00000000000
--- a/spec/lib/gitlab/sidekiq_middleware/admin_mode/client_spec.rb
+++ /dev/null
@@ -1,94 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-describe Gitlab::SidekiqMiddleware::AdminMode::Client, :do_not_mock_admin_mode, :request_store do
- include AdminModeHelper
-
- let(:worker) do
- Class.new do
- def perform; end
- end
- end
-
- let(:job) { {} }
- let(:queue) { :test }
-
- it 'yields block' do
- expect do |b|
- subject.call(worker, job, queue, nil, &b)
- end.to yield_control.once
- end
-
- context 'user is a regular user' do
- it 'no admin mode field in payload' do
- subject.call(worker, job, queue, nil) { nil }
-
- expect(job).not_to include('admin_mode_user_id')
- end
- end
-
- context 'user is an administrator' do
- let(:admin) { create(:admin) }
-
- context 'admin mode disabled' do
- it 'no admin mode field in payload' do
- subject.call(worker, job, queue, nil) { nil }
-
- expect(job).not_to include('admin_mode_user_id')
- end
- end
-
- context 'admin mode enabled' do
- before do
- enable_admin_mode!(admin)
- end
-
- context 'when sidekiq required context not set' do
- it 'no admin mode field in payload' do
- subject.call(worker, job, queue, nil) { nil }
-
- expect(job).not_to include('admin_mode_user_id')
- end
- end
-
- context 'when user stored in current request' do
- it 'has admin mode field in payload' do
- Gitlab::Auth::CurrentUserMode.with_current_admin(admin) do
- subject.call(worker, job, queue, nil) { nil }
-
- expect(job).to include('admin_mode_user_id' => admin.id)
- end
- end
- end
-
- context 'when bypassing session' do
- it 'has admin mode field in payload' do
- Gitlab::Auth::CurrentUserMode.bypass_session!(admin.id) do
- subject.call(worker, job, queue, nil) { nil }
-
- expect(job).to include('admin_mode_user_id' => admin.id)
- end
- end
- end
- end
- end
-
- context 'admin mode feature disabled' do
- before do
- stub_feature_flags(user_mode_in_session: false)
- end
-
- it 'yields block' do
- expect do |b|
- subject.call(worker, job, queue, nil, &b)
- end.to yield_control.once
- end
-
- it 'no admin mode field in payload' do
- subject.call(worker, job, queue, nil) { nil }
-
- expect(job).not_to include('admin_mode_user_id')
- end
- end
-end
diff --git a/spec/lib/gitlab/sidekiq_middleware/admin_mode/server_spec.rb b/spec/lib/gitlab/sidekiq_middleware/admin_mode/server_spec.rb
deleted file mode 100644
index 60475f0e403..00000000000
--- a/spec/lib/gitlab/sidekiq_middleware/admin_mode/server_spec.rb
+++ /dev/null
@@ -1,72 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-describe Gitlab::SidekiqMiddleware::AdminMode::Server, :do_not_mock_admin_mode, :request_store do
- include AdminModeHelper
-
- let(:worker) do
- Class.new do
- def perform; end
- end
- end
-
- let(:job) { {} }
- let(:queue) { :test }
-
- it 'yields block' do
- expect do |b|
- subject.call(worker, job, queue, &b)
- end.to yield_control.once
- end
-
- context 'job has no admin mode field' do
- it 'session is not bypassed' do
- subject.call(worker, job, queue) do
- expect(Gitlab::Auth::CurrentUserMode.bypass_session_admin_id).to be_nil
- end
- end
- end
-
- context 'job has admin mode field' do
- let(:admin) { create(:admin) }
-
- context 'nil admin mode id' do
- let(:job) { { 'admin_mode_user_id' => nil } }
-
- it 'session is not bypassed' do
- subject.call(worker, job, queue) do
- expect(Gitlab::Auth::CurrentUserMode.bypass_session_admin_id).to be_nil
- end
- end
- end
-
- context 'valid admin mode id' do
- let(:job) { { 'admin_mode_user_id' => admin.id } }
-
- it 'session is bypassed' do
- subject.call(worker, job, queue) do
- expect(Gitlab::Auth::CurrentUserMode.bypass_session_admin_id).to be(admin.id)
- end
- end
- end
- end
-
- context 'admin mode feature disabled' do
- before do
- stub_feature_flags(user_mode_in_session: false)
- end
-
- it 'yields block' do
- expect do |b|
- subject.call(worker, job, queue, &b)
- end.to yield_control.once
- end
-
- it 'session is not bypassed' do
- subject.call(worker, job, queue) do
- expect(Gitlab::Auth::CurrentUserMode.bypass_session_admin_id).to be_nil
- end
- end
- end
-end