From 43a25d93ebdabea52f99b05e15b06250cd8f07d7 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 17 May 2023 16:05:49 +0000 Subject: Add latest changes from gitlab-org/gitlab@16-0-stable-ee --- spec/models/active_session_spec.rb | 46 ++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 19 deletions(-) (limited to 'spec/models/active_session_spec.rb') diff --git a/spec/models/active_session_spec.rb b/spec/models/active_session_spec.rb index 3665f13015e..8717b2a1075 100644 --- a/spec/models/active_session_spec.rb +++ b/spec/models/active_session_spec.rb @@ -190,8 +190,7 @@ RSpec.describe ActiveSession, :clean_gitlab_redis_sessions do Gitlab::Redis::Sessions.with do |redis| expect(redis.scan_each.to_a).to include( - described_class.key_name(user.id, session_id), # current session - described_class.key_name_v1(user.id, session_id), # support for mixed deployment + described_class.key_name(user.id, session_id), # current session lookup_key ) end @@ -217,19 +216,6 @@ RSpec.describe ActiveSession, :clean_gitlab_redis_sessions do end end - it 'is possible to log in only using the old session key' do - session_id = "2::418729c72310bbf349a032f0bb6e3fce9f5a69df8f000d8ae0ac5d159d8f21ae" - ActiveSession.set(user, request) - - Gitlab::Redis::SharedState.with do |redis| - redis.del(described_class.key_name(user.id, session_id)) - end - - sessions = ActiveSession.list(user) - - expect(sessions).to be_present - end - it 'keeps the created_at from the login on consecutive requests' do created_at = Time.zone.parse('2018-03-12 09:06') updated_at = created_at + 1.minute @@ -593,7 +579,7 @@ RSpec.describe ActiveSession, :clean_gitlab_redis_sessions do let(:active_count) { 3 } before do - Gitlab::Redis::SharedState.with do |redis| + Gitlab::Redis::Sessions.with do |redis| active_count.times do |number| redis.set( key_name(user.id, number), @@ -608,13 +594,13 @@ RSpec.describe ActiveSession, :clean_gitlab_redis_sessions do end it 'removes obsolete lookup entries' do - active = Gitlab::Redis::SharedState.with do |redis| + active = Gitlab::Redis::Sessions.with do |redis| ActiveSession.cleaned_up_lookup_entries(redis, user) end expect(active.count).to eq(active_count) - Gitlab::Redis::SharedState.with do |redis| + Gitlab::Redis::Sessions.with do |redis| lookup_entries = redis.smembers(lookup_key) expect(lookup_entries.count).to eq(active_count) @@ -627,7 +613,7 @@ RSpec.describe ActiveSession, :clean_gitlab_redis_sessions do it 'reports the removed entries' do removed = [] - Gitlab::Redis::SharedState.with do |redis| + Gitlab::Redis::Sessions.with do |redis| ActiveSession.cleaned_up_lookup_entries(redis, user, removed) end @@ -663,4 +649,26 @@ RSpec.describe ActiveSession, :clean_gitlab_redis_sessions do it_behaves_like 'cleaning up lookup entries' end end + + describe '.set_active_user_cookie' do + let(:auth) { double(cookies: {}) } + + it 'sets marketing cookie' do + ActiveSession.set_active_user_cookie(auth) + expect(auth.cookies[:about_gitlab_active_user][:value]).to be_truthy + end + end + + describe '.unset_active_user_cookie' do + let(:auth) { double(cookies: {}) } + + before do + ActiveSession.set_active_user_cookie(auth) + end + + it 'unsets marketing cookie' do + ActiveSession.unset_active_user_cookie(auth) + expect(auth.cookies[:about_gitlab_active_user]).to be_nil + end + end end -- cgit v1.2.3