# frozen_string_literal: true RSpec.describe "Redis rake tasks", type: :multisite do let(:redis) { Discourse.redis.without_namespace } before { Discourse::Application.load_tasks } describe "clean up" do it "should clean up orphan Redis keys" do active_keys = %w[ __mb_backlog_id_n_/users/someusername$|$default default:user-last-seen:607 sidekiq:something:do:something somekeytonotbetouched ] orphan_keys = %w[tgxworld:user-last-seen:607 __mb_backlog_id_n_/users/someusername$|$tgxworld] (active_keys | orphan_keys).each { |key| redis.set(key, 1) } Rake::Task["redis:clean_up"].invoke active_keys.each { |key| expect(redis.get(key)).to eq("1") } orphan_keys.each { |key| expect(redis.get(key)).to eq(nil) } ensure active_keys.each { |key| redis.del(key) } end end end