spec/server_spec.rb in fakeredis-0.4.1 vs spec/server_spec.rb in fakeredis-0.4.2
- old
+ new
@@ -10,13 +10,91 @@
it "should return the number of keys in the selected database" do
@client.set("key1", "1")
@client.set("key2", "2")
@client.set("key2", "two")
- @client.dbsize.should == 2
+ @client.dbsize.should be == 2
end
it "should get information and statistics about the server" do
- @client.info.key?("redis_version").should == true
+ @client.info.key?("redis_version").should be == true
+ end
+
+ it "should handle non-existent methods" do
+ lambda { @client.idontexist }.should raise_error(Redis::CommandError, "ERR unknown command 'idontexist'")
+ end
+
+ describe "multiple databases" do
+ it "should default to database 0" do
+ @client.inspect.should =~ %r#/0>$#
+ end
+
+ it "should select another database" do
+ @client.select(1)
+ @client.inspect.should =~ %r#/1>$#
+ end
+
+ it "should store keys separately in each database" do
+ @client.select(0).should be == "OK"
+ @client.set("key1", "1")
+ @client.set("key2", "2")
+
+ @client.select(1)
+ @client.set("key3", "3")
+ @client.set("key4", "4")
+ @client.set("key5", "5")
+
+ @client.select(0)
+ @client.dbsize.should be == 2
+ @client.exists("key1").should be_true
+ @client.exists("key3").should be_false
+
+ @client.select(1)
+ @client.dbsize.should be == 3
+ @client.exists("key4").should be_true
+ @client.exists("key2").should be_false
+
+ @client.flushall
+ @client.dbsize.should be == 0
+
+ @client.select(0)
+ @client.dbsize.should be == 0
+ end
+
+ it "should flush a database" do
+ @client.select(0)
+ @client.set("key1", "1")
+ @client.set("key2", "2")
+ @client.dbsize.should be == 2
+
+ @client.select(1)
+ @client.set("key3", "3")
+ @client.set("key4", "4")
+ @client.dbsize.should be == 2
+
+ @client.flushdb.should be == "OK"
+
+ @client.dbsize.should be == 0
+ @client.select(0)
+ @client.dbsize.should be == 2
+ end
+
+ it "should flush all databases" do
+ @client.select(0)
+ @client.set("key3", "3")
+ @client.set("key4", "4")
+ @client.dbsize.should be == 2
+
+ @client.select(1)
+ @client.set("key3", "3")
+ @client.set("key4", "4")
+ @client.dbsize.should be == 2
+
+ @client.flushall.should be == "OK"
+
+ @client.dbsize.should be == 0
+ @client.select(0)
+ @client.dbsize.should be == 0
+ end
end
end
end