mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 10:41:25 +08:00
DEV: Call Discourse.redis.flushdb after the end of each test (#29117)
There have been too many flaky tests as a result of leaking state in Redis so it is easier to resolve them by ensuring we flush Redis' database. Locally on my machine, calling `Discourse.redis.flushdb` takes around 0.1ms which means this change will have very little impact on test runtimes.
This commit is contained in:

committed by
GitHub

parent
44fe8c62d6
commit
ed6c9d1545
@ -199,8 +199,6 @@ RSpec.describe Auth::DefaultCurrentUserProvider do
|
||||
context "with rate limiting" do
|
||||
before { RateLimiter.enable }
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
it "rate limits admin api requests" do
|
||||
global_setting :max_admin_api_reqs_per_minute, 3
|
||||
|
||||
|
@ -230,8 +230,6 @@ RSpec.describe Middleware::AnonymousCache do
|
||||
describe "#force_anonymous!" do
|
||||
before { RateLimiter.enable }
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
it "will revert to anonymous once we reach the limit" do
|
||||
is_anon = false
|
||||
|
||||
|
@ -258,8 +258,6 @@ RSpec.describe Middleware::RequestTracker do
|
||||
)
|
||||
end
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
def log_topic_view(authenticated: false, deferred: false)
|
||||
headers = { "action_dispatch.remote_ip" => "127.0.0.1" }
|
||||
|
||||
@ -519,8 +517,6 @@ RSpec.describe Middleware::RequestTracker do
|
||||
freeze_time_safe
|
||||
end
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
after { Rails.logger = @orig_logger }
|
||||
|
||||
let :middleware do
|
||||
|
@ -3,8 +3,6 @@
|
||||
require "mini_scheduler_long_running_job_logger"
|
||||
|
||||
RSpec.describe MiniSchedulerLongRunningJobLogger do
|
||||
use_redis_snapshotting
|
||||
|
||||
class Every10MinutesJob
|
||||
extend ::MiniScheduler::Schedule
|
||||
|
||||
|
@ -9,8 +9,6 @@ RSpec.describe PostActionCreator do
|
||||
describe "rate limits" do
|
||||
before { RateLimiter.enable }
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
it "limits redo/undo" do
|
||||
PostActionCreator.like(user, post)
|
||||
PostActionDestroyer.destroy(user, post, :like)
|
||||
|
@ -306,10 +306,6 @@ RSpec.describe PostRevisor do
|
||||
end
|
||||
|
||||
describe "revise wiki" do
|
||||
# There used to be a bug where wiki changes were considered posting "too similar"
|
||||
# so this is enabled and checked
|
||||
use_redis_snapshotting
|
||||
|
||||
before { SiteSetting.unique_posts_mins = 10 }
|
||||
|
||||
it "allows the user to change it to a wiki" do
|
||||
@ -803,8 +799,6 @@ RSpec.describe PostRevisor do
|
||||
SiteSetting.editing_grace_period = 0
|
||||
end
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
it "triggers a rate limiter" do
|
||||
EditRateLimiter.any_instance.expects(:performed!)
|
||||
post_revisor.revise!(changed_by, raw: "updated body")
|
||||
|
@ -34,10 +34,6 @@ RSpec.xdescribe SiteSettings::DeprecatedSettings do
|
||||
describe "when not overriding deprecated settings" do
|
||||
let(:override) { false }
|
||||
|
||||
# Necessary because Discourse.deprecate uses redis to see if the warning
|
||||
# was already logged.
|
||||
use_redis_snapshotting
|
||||
|
||||
# NOTE: This fixture has some completely made up settings (e.g. min_trust_level_to_allow_invite_tl_and_staff)
|
||||
let(:deprecated_test) { "#{Rails.root}/spec/fixtures/site_settings/deprecated_test.yml" }
|
||||
|
||||
|
@ -1489,8 +1489,6 @@ RSpec.describe TopicQuery do
|
||||
end
|
||||
|
||||
describe "#list_suggested_for" do
|
||||
use_redis_snapshotting
|
||||
|
||||
def clear_cache!
|
||||
Discourse.redis.keys("random_topic_cache*").each { |k| Discourse.redis.del k }
|
||||
end
|
||||
|
Reference in New Issue
Block a user