public void TestHKeys() { using (var mock = new MockConnector("localhost", 9999, "*2\r\n$5\r\ntest1\r\n$5\r\ntest2\r\n")) using (var redis = new RedisClient(mock)) { var response = redis.HKeys("test"); Assert.Equal(2, response.Length); Assert.Equal("test1", response[0]); Assert.Equal("test2", response[1]); Assert.Equal("*2\r\n$5\r\nHKEYS\r\n$4\r\ntest\r\n", mock.GetMessage()); } this.RealCall(redis => { redis.HSet("test", "field1", "value1"); redis.HSet("test", "field2", "value2"); var response = redis.HKeys("test"); Assert.Equal(2, response.Length); Assert.Equal("field1", response[0]); Assert.Equal("field2", response[1]); }); }
public void TestHMSet_RedisDictionary() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.HMSet("test", new RedisDictionary() { { "field1", "test1" } })); Assert.Equal("*4\r\n$5\r\nHMSET\r\n$4\r\ntest\r\n$6\r\nfield1\r\n$5\r\ntest1\r\n", mock.GetMessage()); } this.RealCall(redis => { Assert.True(redis.HMSet("test", new RedisDictionary() { { "field1", "value1" }, { "field2", "value2" } })); var response = redis.HMGet("test", "field1", "field2"); Assert.Equal(2, response.Length); Assert.Equal("value1", (string)response[0]); Assert.Equal("value2", (string)response[1]); }); }
public void TestZScan() { string reply = "*2\r\n$2\r\n23\r\n*4\r\n$7\r\nmember1\r\n$3\r\n1.1\r\n$7\r\nmember2\r\n$3\r\n2.2\r\n"; using (var mock = new MockConnector("MockHost", 9999, reply, reply, reply, reply)) using (var redis = new RedisClient(mock)) { var response1 = redis.ZScan("test", 0); Assert.AreEqual(23, response1.Cursor); Assert.AreEqual(2, response1.Items.Length); Assert.AreEqual("member1", response1.Items[0].Item1); Assert.AreEqual(1.1, response1.Items[0].Item2); Assert.AreEqual("*3\r\n$5\r\nZSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n", mock.GetMessage(), "Basic test"); var response2 = redis.ZScan("test", 0, pattern: "*"); Assert.AreEqual("*5\r\n$5\r\nZSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n$5\r\nMATCH\r\n$1\r\n*\r\n", mock.GetMessage(), "Pattern test"); var response3 = redis.ZScan("test", 0, count: 5); Assert.AreEqual("*5\r\n$5\r\nZSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n$5\r\nCOUNT\r\n$1\r\n5\r\n", mock.GetMessage(), "Count test"); var response4 = redis.ZScan("test", 0, "*", 5); Assert.AreEqual("*7\r\n$5\r\nZSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n$5\r\nMATCH\r\n$1\r\n*\r\n$5\r\nCOUNT\r\n$1\r\n5\r\n", mock.GetMessage(), "Pattern + Count test"); } }
private void EmulateDisconnect() { MockConnector mc = (MockConnector)this.connector; mc.EmulateDisconnect(); }
public MockConnectorResolver() { MockConnector = new MockConnector(); }