public void TestExists() { using (var mock = new FakeRedisSocket(":1\r\n", ":0\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.IsTrue(redis.Exists("test1")); Assert.AreEqual("*2\r\n$6\r\nEXISTS\r\n$5\r\ntest1\r\n", mock.GetMessage()); Assert.IsFalse(redis.Exists("test2")); Assert.AreEqual("*2\r\n$6\r\nEXISTS\r\n$5\r\ntest2\r\n", mock.GetMessage()); } }
public void TestExpire() { using (var mock = new FakeRedisSocket(":1\r\n", ":0\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.IsTrue(redis.Expire("test1", TimeSpan.FromSeconds(10))); Assert.AreEqual("*3\r\n$6\r\nEXPIRE\r\n$5\r\ntest1\r\n$2\r\n10\r\n", mock.GetMessage()); Assert.IsFalse(redis.Expire("test2", 20)); Assert.AreEqual("*3\r\n$6\r\nEXPIRE\r\n$5\r\ntest2\r\n$2\r\n20\r\n", mock.GetMessage()); } }
public void TestExpireAt() { using (var mock = new FakeRedisSocket(":1\r\n", ":0\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { // 1402643208 = ISO 8601:2014-06-13T07:06:48Z Assert.IsTrue(redis.ExpireAt("test1", new DateTime(2014, 6, 13, 7, 6, 48))); Assert.AreEqual("*3\r\n$8\r\nEXPIREAT\r\n$5\r\ntest1\r\n$10\r\n1402643208\r\n", mock.GetMessage()); Assert.IsFalse(redis.ExpireAt("test2", 1402643208)); Assert.AreEqual("*3\r\n$8\r\nEXPIREAT\r\n$5\r\ntest2\r\n$10\r\n1402643208\r\n", mock.GetMessage()); } }
public void BitCountTest() { using (var mock = new FakeRedisSocket(":10\r\n", ":4\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(10, redis.BitCount("key")); Assert.AreEqual("*2\r\n$8\r\nBITCOUNT\r\n$3\r\nkey\r\n", mock.GetMessage()); Assert.AreEqual(4, redis.BitCount("key", 0, 1)); Assert.AreEqual("*4\r\n$8\r\nBITCOUNT\r\n$3\r\nkey\r\n$1\r\n0\r\n$1\r\n1\r\n", mock.GetMessage()); } }
public void SetUTF8Test() { using (var mock = new FakeRedisSocket("+OK\r\n", "+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.Set("test", "é")); Assert.AreEqual("*3\r\n$3\r\nSET\r\n$4\r\ntest\r\n$2\r\né\r\n", mock.GetMessage()); Assert.AreEqual("OK", redis.SetAsync("test", "é").Result); Assert.AreEqual("*3\r\n$3\r\nSET\r\n$4\r\ntest\r\n$2\r\né\r\n", mock.GetMessage()); } }
public void TestBRPop() { string reply = "*2\r\n$4\r\ntest\r\n$5\r\ntest1\r\n"; using (var mock = new FakeRedisSocket(reply, reply)) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("test1", redis.BRPop(60, "test")); Assert.AreEqual("*3\r\n$5\r\nBRPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); Assert.AreEqual("test1", redis.BRPop(TimeSpan.FromMinutes(1), "test")); Assert.AreEqual("*3\r\n$5\r\nBRPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); } }
public void TestBLPopWithKey() { string reply = "*2\r\n$4\r\ntest\r\n$5\r\ntest1\r\n"; using (var mock = new FakeRedisSocket(reply, reply)) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { var response1 = redis.BLPopWithKey(60, "test"); Assert.AreEqual("test", response1.Item1); Assert.AreEqual("test1", response1.Item2); Assert.AreEqual("*3\r\n$5\r\nBLPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); var response2 = redis.BLPopWithKey(TimeSpan.FromMinutes(1), "test"); Assert.AreEqual("*3\r\n$5\r\nBLPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); } }
public void BitPosTest() { using (var mock = new FakeRedisSocket(":10\r\n", ":10\r\n", ":10\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(10, redis.BitPos("key", true)); Assert.AreEqual("*3\r\n$6\r\nBITPOS\r\n$3\r\nkey\r\n$1\r\n1\r\n", mock.GetMessage()); Assert.AreEqual(10, redis.BitPos("key", true, start: 0)); Assert.AreEqual("*4\r\n$6\r\nBITPOS\r\n$3\r\nkey\r\n$1\r\n1\r\n$1\r\n0\r\n", mock.GetMessage()); Assert.AreEqual(10, redis.BitPos("key", true, start: 0, end: 1)); Assert.AreEqual("*5\r\n$6\r\nBITPOS\r\n$3\r\nkey\r\n$1\r\n1\r\n$1\r\n0\r\n$1\r\n1\r\n", mock.GetMessage()); } }
public void TestHDel() { using (var mock = new FakeRedisSocket(":2\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(2, redis.HDel("test", "test1", "test2")); Assert.AreEqual("*4\r\n$4\r\nHDEL\r\n$4\r\ntest\r\n$5\r\ntest1\r\n$5\r\ntest2\r\n", mock.GetMessage()); } }
public void DiscardTest() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.Discard()); Assert.AreEqual("*1\r\n$7\r\nDISCARD\r\n", mock.GetMessage()); } }
public void BitOpTest() { using (var mock = new FakeRedisSocket(":10\r\n", ":10\r\n", ":10\r\n", ":10\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(10, redis.BitOp(RedisBitOp.And, "dest", "key1", "key2")); Assert.AreEqual("*5\r\n$5\r\nBITOP\r\n$3\r\nAND\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage()); Assert.AreEqual(10, redis.BitOp(RedisBitOp.Or, "dest", "key1", "key2")); Assert.AreEqual("*5\r\n$5\r\nBITOP\r\n$2\r\nOR\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage()); Assert.AreEqual(10, redis.BitOp(RedisBitOp.XOr, "dest", "key1", "key2")); Assert.AreEqual("*5\r\n$5\r\nBITOP\r\n$3\r\nXOR\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage()); Assert.AreEqual(10, redis.BitOp(RedisBitOp.Not, "dest", "key1", "key2")); Assert.AreEqual("*5\r\n$5\r\nBITOP\r\n$3\r\nNOT\r\n$4\r\ndest\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage()); } }
public void WatchTest() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.Watch()); Assert.AreEqual("*1\r\n$5\r\nWATCH\r\n", mock.GetMessage()); } }
public void AppendTest() { using (var mock = new FakeRedisSocket(":10\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(10, redis.Append("key", "x")); Assert.AreEqual("*3\r\n$6\r\nAPPEND\r\n$3\r\nkey\r\n$1\r\nx\r\n", mock.GetMessage()); } }
public void TestSInterStore() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(3, redis.SInterStore("destination", "key1", "key2")); Assert.AreEqual("*4\r\n$11\r\nSINTERSTORE\r\n$11\r\ndestination\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage()); } }
public void TestSAdd() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(3, redis.SAdd("test", "test1")); Assert.AreEqual("*3\r\n$4\r\nSADD\r\n$4\r\ntest\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void PfMergeTest() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.PfMerge("destination", "source1", "source2")); Assert.AreEqual("*4\r\n$7\r\nPFMERGE\r\n$11\r\ndestination\r\n$7\r\nsource1\r\n$7\r\nsource2\r\n", mock.GetMessage()); } }
public void TestDump() { using (var mock = new FakeRedisSocket("$4\r\ntest\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("test", redis.Encoding.GetString(redis.Dump("test"))); Assert.AreEqual("*2\r\n$4\r\nDUMP\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestZCard() { using (var mock = new FakeRedisSocket(":2\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(2, redis.ZCard("test")); Assert.AreEqual("*2\r\n$5\r\nZCARD\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void PublishTest() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(3, redis.Publish("test", "message")); Assert.AreEqual("*3\r\n$7\r\nPUBLISH\r\n$4\r\ntest\r\n$7\r\nmessage\r\n", mock.GetMessage()); } }
public void DecrTest() { using (var mock = new FakeRedisSocket(":10\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(10, redis.Decr("key")); Assert.AreEqual("*2\r\n$4\r\nDECR\r\n$3\r\nkey\r\n", mock.GetMessage()); } }
public void ClientListTest() { using (var mock = new FakeRedisSocket("$291\r\nid=3 addr=127.0.0.1:57656 fd=6 name= age=97 idle=81 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=client\nid=4 addr=127.0.0.1:57663 fd=7 name= age=5 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("id=3 addr=127.0.0.1:57656 fd=6 name= age=97 idle=81 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=client\nid=4 addr=127.0.0.1:57663 fd=7 name= age=5 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client", redis.ClientList()); Assert.AreEqual("*2\r\n$6\r\nCLIENT\r\n$4\r\nLIST\r\n", mock.GetMessage()); } }
public void ClientGetNameTest() { using (var mock = new FakeRedisSocket("$6\r\nmyname\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("myname", redis.ClientGetName()); Assert.AreEqual("*2\r\n$6\r\nCLIENT\r\n$7\r\nGETNAME\r\n", mock.GetMessage()); } }
public void BgSaveTest() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.BgSave()); Assert.AreEqual("*1\r\n$6\r\nBGSAVE\r\n", mock.GetMessage()); } }
public void BgRewriteAofTest() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.BgRewriteAof()); Assert.AreEqual("*1\r\n$12\r\nBGREWRITEAOF\r\n", mock.GetMessage()); } }
public void TestZAdd_Tuple() { using (var mock = new FakeRedisSocket(":2\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(2, redis.ZAdd("test", Tuple.Create(1.1, "test1"), Tuple.Create(2.2, "test2"))); Assert.AreEqual("*6\r\n$4\r\nZADD\r\n$4\r\ntest\r\n$3\r\n1.1\r\n$5\r\ntest1\r\n$3\r\n2.2\r\n$5\r\ntest2\r\n", mock.GetMessage()); } }
public void TestHExists() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.IsTrue(redis.HExists("test", "field")); Assert.AreEqual("*3\r\n$7\r\nHEXISTS\r\n$4\r\ntest\r\n$5\r\nfield\r\n", mock.GetMessage()); } }
public void TestZIncrby() { using (var mock = new FakeRedisSocket("$4\r\n3.14\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(3.14, redis.ZIncrBy("test", 1.5, "test1")); Assert.AreEqual("*4\r\n$7\r\nZINCRBY\r\n$4\r\ntest\r\n$3\r\n1.5\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void TestHGet() { using (var mock = new FakeRedisSocket("$4\r\ntest\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("test", redis.HGet("test", "field")); Assert.AreEqual("*3\r\n$4\r\nHGET\r\n$4\r\ntest\r\n$5\r\nfield\r\n", mock.GetMessage()); } }
public void ScriptKillTest() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual("OK", redis.ScriptKill()); Assert.AreEqual("*2\r\n$6\r\nSCRIPT\r\n$4\r\nKILL\r\n", mock.GetMessage()); } }
public void TestDel() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new RedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.AreEqual(3, redis.Del("test")); Assert.AreEqual("*2\r\n$3\r\nDEL\r\n$4\r\ntest\r\n", mock.GetMessage()); } }