spec/connection_spec.rb in fakeredis-0.4.1 vs spec/connection_spec.rb in fakeredis-0.4.2

- old
+ new

@@ -7,12 +7,73 @@ @client = Redis.new end if fakeredis? it "should authenticate to the server" do - @client.auth("pass").should == "OK" + @client.auth("pass").should be == "OK" end + + it "should re-use the same instance with the same host & port" do + @client1 = Redis.new(:host => "localhost", :port => 1234) + @client2 = Redis.new(:host => "localhost", :port => 1234) + @client3 = Redis.new(:host => "localhost", :port => 5678) + + @client1.set("key1", "1") + @client2.get("key1").should be == "1" + @client3.get("key1").should be_nil + + @client2.set("key2", "2") + @client1.get("key2").should be == "2" + @client3.get("key2").should be_nil + + @client3.set("key3", "3") + @client1.get("key3").should be_nil + @client2.get("key3").should be_nil + + @client1.dbsize.should be == 2 + @client2.dbsize.should be == 2 + @client3.dbsize.should be == 1 + end + + it "should connect to a specific database" do + @client1 = Redis.new(:host => "localhost", :port => 1234, :db => 0) + @client1.set("key1", "1") + @client1.select(0) + @client1.get("key1").should be == "1" + + @client2 = Redis.new(:host => "localhost", :port => 1234, :db => 1) + @client2.set("key1", "1") + @client2.select(1) + @client2.get("key1").should == "1" + end + + it "should not error with shutdown" do + lambda { @client.shutdown }.should_not raise_error + end + + it "should not error with quit" do + lambda { @client.quit }.should_not raise_error + end end + + it "should handle multiple clients using the same db instance" do + @client1 = Redis.new(:host => "localhost", :port => 6379, :db => 1) + @client2 = Redis.new(:host => "localhost", :port => 6379, :db => 2) + + @client1.set("key1", "one") + @client1.get("key1").should be == "one" + + @client2.set("key2", "two") + @client2.get("key2").should be == "two" + + @client1.get("key1").should be == "one" + end + + it "should not error with a disconnected client" do + @client1 = Redis.new + @client1.client.disconnect + @client1.get("key1").should be_nil + end it "should echo the given string" do @client.echo("something").should == "something" end