Revert "FIX: These tests are broken"

Revert “FIX: These tests are broken”

This reverts commit b1114b9a20343525c805d7339bd64954965a12f9.

diff --git a/spec/components/discourse_redis_spec.rb b/spec/components/discourse_redis_spec.rb
index 900e20a..abc9a59 100644
--- a/spec/components/discourse_redis_spec.rb
+++ b/spec/components/discourse_redis_spec.rb
@@ -3,246 +3,244 @@
 require 'rails_helper'
 
 describe DiscourseRedis do
-  skip "these tests are broken" do
-    let(:slave_host) { 'testhost' }
-    let(:slave_port) { 1234 }
+  let(:slave_host) { 'testhost' }
+  let(:slave_port) { 1234 }
 
-    let(:config) do
-      DiscourseRedis.config.dup.merge(slave_host: 'testhost', slave_port: 1234, connector: DiscourseRedis::Connector)
-    end
+  let(:config) do
+    DiscourseRedis.config.dup.merge(slave_host: 'testhost', slave_port: 1234, connector: DiscourseRedis::Connector)
+  end
 
-    let(:fallback_handler) { DiscourseRedis::FallbackHandler.instance }
+  let(:fallback_handler) { DiscourseRedis::FallbackHandler.instance }
 
-    it "ignore_readonly returns nil from a pure exception" do
-      result = DiscourseRedis.ignore_readonly { raise Redis::CommandError.new("READONLY") }
-      expect(result).to eq(nil)
-    end
+  it "ignore_readonly returns nil from a pure exception" do
+    result = DiscourseRedis.ignore_readonly { raise Redis::CommandError.new("READONLY") }
+    expect(result).to eq(nil)
+  end
 
-    describe 'redis commands' do
-      let(:raw_redis) { Redis.new(DiscourseRedis.config) }
+  describe 'redis commands' do
+    let(:raw_redis) { Redis.new(DiscourseRedis.config) }
 
-      before do
-        raw_redis.flushdb
-      end
+    before do
+      raw_redis.flushdb
+    end
 
-      after do
-        raw_redis.flushdb
-      end
+    after do
+      raw_redis.flushdb
+    end
 
-      describe 'when namespace is enabled' do
-        let(:redis) { DiscourseRedis.new }
+    describe 'when namespace is enabled' do
+      let(:redis) { DiscourseRedis.new }
 
-        it 'should append namespace to the keys' do
-          raw_redis.set('default:key', 1)
-          raw_redis.set('test:key2', 1)
+      it 'should append namespace to the keys' do
+        raw_redis.set('default:key', 1)
+        raw_redis.set('test:key2', 1)
 
-          expect(redis.keys).to include('key')
-          expect(redis.keys).to_not include('key2')
-          expect(redis.scan_each.to_a).to eq(['key'])
+        expect(redis.keys).to include('key')
+        expect(redis.keys).to_not include('key2')
+        expect(redis.scan_each.to_a).to eq(['key'])
 
-          redis.scan_each.each do |key|
-            expect(key).to eq('key')
-          end
+        redis.scan_each.each do |key|
+          expect(key).to eq('key')
+        end
 
-          redis.del('key')
+        redis.del('key')
 
-          expect(raw_redis.get('default:key')).to eq(nil)
-          expect(redis.scan_each.to_a).to eq([])
+        expect(raw_redis.get('default:key')).to eq(nil)
+        expect(redis.scan_each.to_a).to eq([])
 
-          raw_redis.set('default:key1', '1')
-          raw_redis.set('default:key2', '2')
+        raw_redis.set('default:key1', '1')
+        raw_redis.set('default:key2', '2')
 
-          expect(redis.mget('key1', 'key2')).to eq(['1', '2'])
-          expect(redis.scan_each.to_a).to contain_exactly('key1', 'key2')
-        end
+        expect(redis.mget('key1', 'key2')).to eq(['1', '2'])
+        expect(redis.scan_each.to_a).to contain_exactly('key1', 'key2')
       end
+    end
 
-      describe 'when namespace is disabled' do
-        let(:redis) { DiscourseRedis.new(nil, namespace: false) }
+    describe 'when namespace is disabled' do
+      let(:redis) { DiscourseRedis.new(nil, namespace: false) }
 
-        it 'should not append any namespace to the keys' do
-          raw_redis.set('default:key', 1)
-          raw_redis.set('test:key2', 1)
+      it 'should not append any namespace to the keys' do
+        raw_redis.set('default:key', 1)
+        raw_redis.set('test:key2', 1)
 
-          expect(redis.keys).to include('default:key', 'test:key2')
+        expect(redis.keys).to include('default:key', 'test:key2')
 
-          redis.del('key')
+        redis.del('key')
 
-          expect(raw_redis.get('key')).to eq(nil)
+        expect(raw_redis.get('key')).to eq(nil)
 
-          raw_redis.set('key1', '1')
-          raw_redis.set('key2', '2')
+        raw_redis.set('key1', '1')
+        raw_redis.set('key2', '2')
 
-          expect(redis.mget('key1', 'key2')).to eq(['1', '2'])
-        end
+        expect(redis.mget('key1', 'key2')).to eq(['1', '2'])
+      end
 
-        it 'should noop a readonly redis' do
-          expect(Discourse.recently_readonly?).to eq(false)
+      it 'should noop a readonly redis' do
+        expect(Discourse.recently_readonly?).to eq(false)
 
-          redis.without_namespace
-            .expects(:set)
-            .raises(Redis::CommandError.new("READONLY"))
+        redis.without_namespace
+          .expects(:set)
+          .raises(Redis::CommandError.new("READONLY"))
 
-          redis.set('key', 1)
+        redis.set('key', 1)
 
-          expect(Discourse.recently_readonly?).to eq(true)
-        end
+        expect(Discourse.recently_readonly?).to eq(true)
       end
     end
+  end
 
-    context '.slave_host' do
-      it 'should return the right config' do
-        slave_config = DiscourseRedis.slave_config(config)
-        expect(slave_config[:host]).to eq(slave_host)
-        expect(slave_config[:port]).to eq(slave_port)
-      end
+  context '.slave_host' do
+    it 'should return the right config' do
+      slave_config = DiscourseRedis.slave_config(config)
+      expect(slave_config[:host]).to eq(slave_host)
+      expect(slave_config[:port]).to eq(slave_port)
     end
+  end
 
-    context 'when redis connection is to a slave redis server' do
-      it 'should check the status of the master server' do
-        begin
-          fallback_handler.master = false
-          Discourse.redis.without_namespace.expects(:set).raises(Redis::CommandError.new("READONLY"))
-          fallback_handler.expects(:verify_master).once
-          Discourse.redis.set('test', '1')
-        ensure
-          fallback_handler.master = true
-          Discourse.redis.del('test')
-        end
+  context 'when redis connection is to a slave redis server' do
+    it 'should check the status of the master server' do
+      begin
+        fallback_handler.master = false
+        Discourse.redis.without_namespace.expects(:set).raises(Redis::CommandError.new("READONLY"))
+        fallback_handler.expects(:verify_master).once
+        Discourse.redis.set('test', '1')
+      ensure
+        fallback_handler.master = true
+        Discourse.redis.del('test')
       end
     end
+  end
 
-    describe DiscourseRedis::Connector do
-      let(:connector) { DiscourseRedis::Connector.new(config) }
+  describe DiscourseRedis::Connector do
+    let(:connector) { DiscourseRedis::Connector.new(config) }
 
-      after do
-        fallback_handler.master = true
+    after do
+      fallback_handler.master = true
+    end
+
+    it 'should return the master config when master is up' do
+      expect(connector.resolve).to eq(config)
+    end
+
+    class BrokenRedis
+      def initialize(error)
+        @error = error
       end
 
-      it 'should return the master config when master is up' do
-        expect(connector.resolve).to eq(config)
+      def call(*args)
+        raise @error
       end
 
-      class BrokenRedis
-        def initialize(error)
-          @error = error
-        end
+      def disconnect
+      end
+    end
 
-        def call(*args)
-          raise @error
-        end
+    it 'should return the slave config when master is down' do
+      error = Redis::CannotConnectError
 
-        def disconnect
-        end
-      end
+      expect do
+        connector.resolve(BrokenRedis.new(error))
+      end.to raise_error(Redis::CannotConnectError)
 
-      it 'should return the slave config when master is down' do
-        error = Redis::CannotConnectError

[... diff too long, it was truncated ...]

GitHub sha: 25db91e3