mirror of
https://github.com/discourse/discourse.git
synced 2024-12-13 11:46:30 +08:00
32 lines
905 B
Ruby
32 lines
905 B
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe "Multisite SiteSettings", type: :multisite do
|
|
def cache(name, namespace: true)
|
|
DistributedCache.new(name, namespace: namespace)
|
|
end
|
|
|
|
context "without namespace" do
|
|
let(:cache1) { cache("test", namespace: false) }
|
|
|
|
it "does not leak state across multisite" do
|
|
cache1["default"] = true
|
|
|
|
expect(cache1.hash).to eq("default" => true)
|
|
|
|
test_multisite_connection("second") do
|
|
message =
|
|
MessageBus
|
|
.track_publish(DistributedCache::Manager::CHANNEL_NAME) { cache1["second"] = true }
|
|
.first
|
|
|
|
expect(message.data[:hash_key]).to eq("test")
|
|
expect(message.data[:op]).to eq(:set)
|
|
expect(message.data[:key]).to eq("second")
|
|
expect(message.data[:value]).to eq(true)
|
|
end
|
|
|
|
expect(cache1.hash).to eq("default" => true, "second" => true)
|
|
end
|
|
end
|
|
end
|