diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-04 18:08:50 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-04 18:08:50 +0000 |
commit | ca05512007cea51e05d3431b2c8bd7228c754370 (patch) | |
tree | 5202d429acd68c071445aff9e352379173ec9c0b /spec/lib/gitlab/sidekiq_middleware | |
parent | 6b833f1e0340e00fdee074da9c42c0d4e07a46d2 (diff) | |
download | gitlab-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.rb | 94 | ||||
-rw-r--r-- | spec/lib/gitlab/sidekiq_middleware/admin_mode/server_spec.rb | 72 |
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 |