Commit 7511d1c4 authored by Heinrich Lee Yu's avatar Heinrich Lee Yu

Fix failing specs when on Puma

We need to clear the thread memory cache because with Puma
we now share threads across requests
parent 030f57bd
require 'gitlab/testing/request_blocker_middleware' require 'gitlab/testing/request_blocker_middleware'
require 'gitlab/testing/request_inspector_middleware' require 'gitlab/testing/request_inspector_middleware'
require 'gitlab/testing/clear_thread_memory_cache_middleware'
Rails.application.configure do Rails.application.configure do
# Make sure the middleware is inserted first in middleware chain # Make sure the middleware is inserted first in middleware chain
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestBlockerMiddleware) config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestBlockerMiddleware)
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestInspectorMiddleware) config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestInspectorMiddleware)
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::ClearThreadMemoryCacheMiddleware)
# Settings specified here will take precedence over those in config/application.rb # Settings specified here will take precedence over those in config/application.rb
......
# frozen_string_literal: true
module Gitlab
module Testing
class ClearThreadMemoryCacheMiddleware
def initialize(app)
@app = app
end
def call(env)
Gitlab::ThreadMemoryCache.cache_backend.clear
@app.call(env)
end
end
end
end
...@@ -143,16 +143,11 @@ describe "Issues > User edits issue", :js do ...@@ -143,16 +143,11 @@ describe "Issues > User edits issue", :js do
end end
it 'allows user to unselect themselves' do it 'allows user to unselect themselves' do
issue2 = create(:issue, project: project, author: user) issue2 = create(:issue, project: project, author: user, assignees: [user])
visit project_issue_path(project, issue2) visit project_issue_path(project, issue2)
page.within '.assignee' do page.within '.assignee' do
click_link 'Edit'
click_link user.name
close_dropdown_menu_if_visible
page.within '.value .author' do page.within '.value .author' do
expect(page).to have_content user.name expect(page).to have_content user.name
end end
......
...@@ -11,13 +11,8 @@ describe 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do ...@@ -11,13 +11,8 @@ describe 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do
let(:admin) { create(:admin) } let(:admin) { create(:admin) }
around do |example|
Timecop.freeze(Time.zone.parse('2018-03-12 09:06')) do
example.run
end
end
it 'User sees their active sessions' do it 'User sees their active sessions' do
Timecop.freeze(Time.zone.parse('2018-03-12 09:06')) do
Capybara::Session.new(:session1) Capybara::Session.new(:session1)
Capybara::Session.new(:session2) Capybara::Session.new(:session2)
Capybara::Session.new(:session3) Capybara::Session.new(:session3)
...@@ -84,8 +79,9 @@ describe 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do ...@@ -84,8 +79,9 @@ describe 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do
expect(page).not_to have_content('Chrome on Windows') expect(page).not_to have_content('Chrome on Windows')
end end
end end
end
it 'User can revoke a session', :js, :redis_session_store do it 'User can revoke a session', :js do
Capybara::Session.new(:session1) Capybara::Session.new(:session1)
Capybara::Session.new(:session2) Capybara::Session.new(:session2)
......
...@@ -200,7 +200,7 @@ describe 'Gcp Cluster', :js, :do_not_mock_admin_mode do ...@@ -200,7 +200,7 @@ describe 'Gcp Cluster', :js, :do_not_mock_admin_mode do
end end
end end
context 'when third party offers are disabled' do context 'when third party offers are disabled', :clean_gitlab_redis_shared_state do
let(:admin) { create(:admin) } let(:admin) { create(:admin) }
before do before do
......
...@@ -60,6 +60,7 @@ Capybara.register_driver :chrome do |app| ...@@ -60,6 +60,7 @@ Capybara.register_driver :chrome do |app|
) )
end end
Capybara.server = :puma
Capybara.javascript_driver = :chrome Capybara.javascript_driver = :chrome
Capybara.default_max_wait_time = timeout Capybara.default_max_wait_time = timeout
Capybara.ignore_hidden_elements = true Capybara.ignore_hidden_elements = true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment