summaryrefslogtreecommitdiff
path: root/spec/initializers/session_store_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/initializers/session_store_spec.rb')
-rw-r--r--spec/initializers/session_store_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/initializers/session_store_spec.rb b/spec/initializers/session_store_spec.rb
new file mode 100644
index 00000000000..3da52ccc981
--- /dev/null
+++ b/spec/initializers/session_store_spec.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe 'Session initializer for GitLab' do
+ subject { Gitlab::Application.config }
+
+ let(:load_session_store) do
+ load Rails.root.join('config/initializers/session_store.rb')
+ end
+
+ describe 'config#session_store' do
+ context 'when the GITLAB_REDIS_STORE_WITH_SESSION_STORE env is not set' do
+ before do
+ stub_env('GITLAB_REDIS_STORE_WITH_SESSION_STORE', nil)
+ end
+
+ it 'initialized as a redis_store with a proper Redis::Store instance' do
+ expect(subject).to receive(:session_store).with(:redis_store, a_hash_including(redis_store: kind_of(::Redis::Store)))
+
+ load_session_store
+ end
+ end
+
+ context 'when the GITLAB_REDIS_STORE_WITH_SESSION_STORE env is disabled' do
+ before do
+ stub_env('GITLAB_REDIS_STORE_WITH_SESSION_STORE', false)
+ end
+
+ it 'initialized as a redis_store with a proper servers configuration' do
+ expect(subject).to receive(:session_store).with(:redis_store, a_hash_including(servers: kind_of(Hash)))
+
+ load_session_store
+ end
+ end
+ end
+end