public void Persist() { using (var mock = new MockConnector("localhost", 9999, ":1\r\n", ":0\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.Persist("test1")); Assert.Equal("*2\r\n$7\r\nPERSIST\r\n$5\r\ntest1\r\n", mock.GetMessage()); Assert.False(redis.Persist("test2")); Assert.Equal("*2\r\n$7\r\nPERSIST\r\n$5\r\ntest2\r\n", mock.GetMessage()); } this.RealCall(redis => { redis.MSet(new RedisDictionary { { "key1", "value1" }, { "key2", "value2" } }); Assert.True(redis.Expire("key1", TimeSpan.FromSeconds(10))); Assert.True(redis.Expire("key2", 20)); Assert.True(redis.Ttl("key1") <= 10); Assert.True(redis.Ttl("key2") <= 20); Assert.True(redis.Persist("key1")); Assert.True(redis.Persist("key2")); Assert.Equal(-1, redis.Ttl("key1")); Assert.Equal(-1, redis.Ttl("key2")); }); }
public void TestSort() { using (var mock = new MockConnector("localhost", 9999, "*2\r\n$2\r\nab\r\n$2\r\ncd\r\n", "*0\r\n", "*0\r\n", "*0\r\n", "*0\r\n", "*0\r\n", "*0\r\n", "*0\r\n")) using (var redis = new RedisClient(mock)) { var resp1 = redis.Sort("test1"); Assert.Equal(2, resp1.Length); Assert.Equal("ab", (string)resp1[0]); Assert.Equal("cd", (string)resp1[1]); Assert.Equal("*2\r\n$4\r\nSORT\r\n$5\r\ntest1\r\n", mock.GetMessage()); var resp2 = redis.Sort("test2", offset: 0, count: 2); Assert.Equal("*5\r\n$4\r\nSORT\r\n$5\r\ntest2\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$1\r\n2\r\n", mock.GetMessage()); var resp3 = redis.Sort("test3", by: "xyz"); Assert.Equal("*4\r\n$4\r\nSORT\r\n$5\r\ntest3\r\n$2\r\nBY\r\n$3\r\nxyz\r\n", mock.GetMessage()); var resp4 = redis.Sort("test4", sort: RedisSort.Asc); Assert.Equal("*3\r\n$4\r\nSORT\r\n$5\r\ntest4\r\n$3\r\nASC\r\n", mock.GetMessage()); var resp5 = redis.Sort("test5", sort: RedisSort.Desc); Assert.Equal("*3\r\n$4\r\nSORT\r\n$5\r\ntest5\r\n$4\r\nDESC\r\n", mock.GetMessage()); var resp6 = redis.Sort("test6", alpha: true); Assert.Equal("*3\r\n$4\r\nSORT\r\n$5\r\ntest6\r\n$5\r\nALPHA\r\n", mock.GetMessage()); var resp7 = redis.Sort("test7", get: new[] { "get1", "get2" }); Assert.Equal("*6\r\n$4\r\nSORT\r\n$5\r\ntest7\r\n$3\r\nGET\r\n$4\r\nget1\r\n$3\r\nGET\r\n$4\r\nget2\r\n", mock.GetMessage()); var resp8 = redis.Sort("test8", offset: 0, count: 2, by: "xyz", sort: RedisSort.Asc, alpha: true, get: new[] { "a", "b" }); Assert.Equal("*13\r\n$4\r\nSORT\r\n$5\r\ntest8\r\n$2\r\nBY\r\n$3\r\nxyz\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$1\r\n2\r\n$3\r\nGET\r\n$1\r\na\r\n$3\r\nGET\r\n$1\r\nb\r\n$3\r\nASC\r\n$5\r\nALPHA\r\n", mock.GetMessage()); } }
public void ExecTests() { var okReply = "+OK\r\n"; using (var mock = new MockConnector("localhost", 9999, okReply, "+QUEUED\r\n", "+QUEUED\r\n", "*2\r\n" + okReply + okReply)) using (var redis = new RedisClient(mock)) { int x = 0; using (var tran = redis.BeginTransaction()) { Assert.Equal("*1\r\n$5\r\nMULTI\r\n", mock.GetMessage()); tran.On(tran.Set("key1", "value1"), r => { Assert.True(r); x += 1; }); Assert.Equal("*3\r\n$3\r\nSET\r\n$4\r\nkey1\r\n$6\r\nvalue1\r\n", mock.GetMessage()); tran.On(tran.Set("key2", "value2"), r => { Assert.True(r); Assert.Equal(1, x); x += 2; }); Assert.Equal("*3\r\n$3\r\nSET\r\n$4\r\nkey2\r\n$6\r\nvalue2\r\n", mock.GetMessage()); tran.Commit(); Assert.Equal("*1\r\n$4\r\nEXEC\r\n", mock.GetMessage()); } Assert.Equal(string.Empty, mock.GetMessage()); Assert.Equal(3, x); } this.RealCall(redis => { int x = 0; using (var tran = redis.BeginTransaction()) { tran.On(tran.Set("key1", "value1"), r => { Assert.True(r); x += 1; }); tran.On(tran.Set("key2", "value2"), r => { Assert.True(r); Assert.Equal(1, x); x += 2; }); tran.Commit(); } Assert.Equal(3, x); Assert.Equal("value1", (string)redis.Get("key1")); Assert.Equal("value2", (string)redis.Get("key2")); }); }
public void ExecTests() { var okReply = "+OK\r\n"; using(var mock = new MockConnector("localhost", 9999, okReply, "+QUEUED\r\n", "+QUEUED\r\n", "*2\r\n" + okReply + okReply)) using(var redis = new RedisClient(mock)) { int x = 0; using(var tran = redis.BeginTransaction()) { Assert.Equal("*1\r\n$5\r\nMULTI\r\n", mock.GetMessage()); tran.On(tran.Set("key1", "value1"), r => { Assert.True(r); x += 1; }); Assert.Equal("*3\r\n$3\r\nSET\r\n$4\r\nkey1\r\n$6\r\nvalue1\r\n", mock.GetMessage()); tran.On(tran.Set("key2", "value2"), r => { Assert.True(r); Assert.Equal(1, x); x += 2; }); Assert.Equal("*3\r\n$3\r\nSET\r\n$4\r\nkey2\r\n$6\r\nvalue2\r\n", mock.GetMessage()); tran.Commit(); Assert.Equal("*1\r\n$4\r\nEXEC\r\n", mock.GetMessage()); } Assert.Equal(string.Empty, mock.GetMessage()); Assert.Equal(3, x); } this.RealCall(redis => { int x = 0; using(var tran = redis.BeginTransaction()) { tran.On(tran.Set("key1", "value1"), r => { Assert.True(r); x += 1; }); tran.On(tran.Set("key2", "value2"), r => { Assert.True(r); Assert.Equal(1, x); x += 2; }); tran.Commit(); } Assert.Equal(3, x); Assert.Equal("value1", (string)redis.Get("key1")); Assert.Equal("value2", (string)redis.Get("key2")); }); }
public void MyTestMethod3() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n", "+OK\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.Set("key", "value")); Assert.Equal("*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n", mock.GetMessage()); Assert.True(redis.Set("key", "value")); Assert.Equal("*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n", mock.GetMessage()); } }
public void MyTestMethod3() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n", "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.Set("key", "value")); Assert.Equal("*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n", mock.GetMessage()); Assert.True(redis.Set("key", "value")); Assert.Equal("*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n", mock.GetMessage()); } }
public void TestBRPopLPush() { string reply = "$5\r\ntest1\r\n"; using (var mock = new MockConnector("localhost", 9999, reply, reply)) using (var redis = new RedisClient(mock)) { Assert.Equal("test1", (string)redis.BRPopLPush("test", "new", 60)); Assert.Equal("*4\r\n$10\r\nBRPOPLPUSH\r\n$4\r\ntest\r\n$3\r\nnew\r\n$2\r\n60\r\n", mock.GetMessage()); Assert.Equal("test1", (string)redis.BRPopLPush("test", "new", TimeSpan.FromMinutes(1))); Assert.Equal("*4\r\n$10\r\nBRPOPLPUSH\r\n$4\r\ntest\r\n$3\r\nnew\r\n$2\r\n60\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 MockConnector("localhost", 9999, reply, reply)) using (var redis = new RedisClient(mock)) { Assert.Equal("test1", (string)redis.BRPop(60, "test").Value); Assert.Equal("*3\r\n$5\r\nBRPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); Assert.Equal("test1", (string)redis.BRPop(TimeSpan.FromMinutes(1), "test").Value); Assert.Equal("*3\r\n$5\r\nBRPOP\r\n$4\r\ntest\r\n$2\r\n60\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 MockConnector("localhost", 9999, reply, reply)) using (var redis = new RedisClient(mock)) { Assert.Equal("test1", (string)redis.BRPop(60, "test").Value); Assert.Equal("*3\r\n$5\r\nBRPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); Assert.Equal("test1", (string)redis.BRPop(TimeSpan.FromMinutes(1), "test").Value); Assert.Equal("*3\r\n$5\r\nBRPOP\r\n$4\r\ntest\r\n$2\r\n60\r\n", mock.GetMessage()); } }
public void InfoTest() { var reply1 = "$1774\r\n# Server\r\nredis_version:2.8.12\r\nredis_git_sha1:00000000\r\nredis_git_dirty:0\r\nredis_build_id:15bba638a3b1acf9\r\nredis_mode:standalone\r\nos:Linux 2.6.32-220.17.1.el6.x86_64 x86_64\r\narch_bits:64\r\nmultiplexing_api:epoll\r\ngcc_version:4.4.6\r\nprocess_id:16533\r\nrun_id:76e33834f46f97e0acf1c2749245bc25758afe41\r\ntcp_port:6379\r\nuptime_in_seconds:183775\r\nuptime_in_days:2\r\nhz:10\r\nlru_clock:12351741\r\nconfig_file:/etc/redis.conf\r\n\r\n# Clients\r\nconnected_clients:2\r\nclient_longest_output_list:0\r\nclient_biggest_input_buf:0\r\nblocked_clients:0\r\n\r\n# Memory\r\nused_memory:365208\r\nused_memory_human:356.65K\r\nused_memory_rss:7626752\r\nused_memory_peak:386120\r\nused_memory_peak_human:377.07K\r\nused_memory_lua:33792\r\nmem_fragmentation_ratio:20.88\r\nmem_allocator:jemalloc-3.6.0\r\n\r\n# Persistence\r\nloading:0\r\nrdb_changes_since_last_save:0\r\nrdb_bgsave_in_progress:0\r\nrdb_last_save_time:1404676894\r\nrdb_last_bgsave_status:ok\r\nrdb_last_bgsave_time_sec:-1\r\nrdb_current_bgsave_time_sec:-1\r\naof_enabled:0\r\naof_rewrite_in_progress:0\r\naof_rewrite_scheduled:0\r\naof_last_rewrite_time_sec:-1\r\naof_current_rewrite_time_sec:-1\r\naof_last_bgrewrite_status:ok\r\naof_last_write_status:ok\r\n\r\n# Stats\r\ntotal_connections_received:9\r\ntotal_commands_processed:23\r\ninstantaneous_ops_per_sec:0\r\nrejected_connections:0\r\nsync_full:0\r\nsync_partial_ok:0\r\nsync_partial_err:0\r\nexpired_keys:0\r\nevicted_keys:0\r\nkeyspace_hits:0\r\nkeyspace_misses:0\r\npubsub_channels:0\r\npubsub_patterns:0\r\nlatest_fork_usec:0\r\n\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_repl_offset:0\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n# CPU\r\nused_cpu_sys:139.97\r\nused_cpu_user:43.93\r\nused_cpu_sys_children:0.00\r\nused_cpu_user_children:0.00\r\n\r\n# Keyspace\r\ndb0:keys=6,expires=0,avg_ttl=0\r\n"; var reply2 = "$104\r\n# CPU\r\nused_cpu_sys:140.26\r\nused_cpu_user:43.95\r\nused_cpu_sys_children:0.00\r\nused_cpu_user_children:0.00\r\n"; using (var mock = new MockConnector("localhost", 9999, reply1, reply2)) using (var redis = new RedisClient(mock)) { Assert.Equal("# Server\r\nredis_version:2.8.12\r\nredis_git_sha1:00000000\r\nredis_git_dirty:0\r\nredis_build_id:15bba638a3b1acf9\r\nredis_mode:standalone\r\nos:Linux 2.6.32-220.17.1.el6.x86_64 x86_64\r\narch_bits:64\r\nmultiplexing_api:epoll\r\ngcc_version:4.4.6\r\nprocess_id:16533\r\nrun_id:76e33834f46f97e0acf1c2749245bc25758afe41\r\ntcp_port:6379\r\nuptime_in_seconds:183775\r\nuptime_in_days:2\r\nhz:10\r\nlru_clock:12351741\r\nconfig_file:/etc/redis.conf\r\n\r\n# Clients\r\nconnected_clients:2\r\nclient_longest_output_list:0\r\nclient_biggest_input_buf:0\r\nblocked_clients:0\r\n\r\n# Memory\r\nused_memory:365208\r\nused_memory_human:356.65K\r\nused_memory_rss:7626752\r\nused_memory_peak:386120\r\nused_memory_peak_human:377.07K\r\nused_memory_lua:33792\r\nmem_fragmentation_ratio:20.88\r\nmem_allocator:jemalloc-3.6.0\r\n\r\n# Persistence\r\nloading:0\r\nrdb_changes_since_last_save:0\r\nrdb_bgsave_in_progress:0\r\nrdb_last_save_time:1404676894\r\nrdb_last_bgsave_status:ok\r\nrdb_last_bgsave_time_sec:-1\r\nrdb_current_bgsave_time_sec:-1\r\naof_enabled:0\r\naof_rewrite_in_progress:0\r\naof_rewrite_scheduled:0\r\naof_last_rewrite_time_sec:-1\r\naof_current_rewrite_time_sec:-1\r\naof_last_bgrewrite_status:ok\r\naof_last_write_status:ok\r\n\r\n# Stats\r\ntotal_connections_received:9\r\ntotal_commands_processed:23\r\ninstantaneous_ops_per_sec:0\r\nrejected_connections:0\r\nsync_full:0\r\nsync_partial_ok:0\r\nsync_partial_err:0\r\nexpired_keys:0\r\nevicted_keys:0\r\nkeyspace_hits:0\r\nkeyspace_misses:0\r\npubsub_channels:0\r\npubsub_patterns:0\r\nlatest_fork_usec:0\r\n\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_repl_offset:0\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n# CPU\r\nused_cpu_sys:139.97\r\nused_cpu_user:43.93\r\nused_cpu_sys_children:0.00\r\nused_cpu_user_children:0.00\r\n\r\n# Keyspace\r\ndb0:keys=6,expires=0,avg_ttl=0", redis.Info()); Assert.Equal("*1\r\n$4\r\nINFO\r\n", mock.GetMessage()); redis.Info("CPU"); Assert.Equal("*2\r\n$4\r\nINFO\r\n$3\r\nCPU\r\n", mock.GetMessage()); } }
public void TestSScan() { string reply = "*2\r\n$1\r\n0\r\n*2\r\n$5\r\ntest1\r\n$5\r\ntest2\r\n"; using (var mock = new MockConnector("localhost", 9999, reply, reply, reply, reply)) using (var redis = new RedisClient(mock)) { var resp = (redis.SScan("test", 0) as RedisScan <BinaryValue>).GetEnumerator() as RedisScan <BinaryValue> .Enumerator; resp.MoveNext(); Assert.Equal(0, resp.Cursor); Assert.Equal(1, resp.Items.Length); Assert.Equal("test1", (string)resp.Current); resp.MoveNext(); Assert.Equal(0, resp.Cursor); Assert.Equal(0, resp.Items.Length); Assert.Equal("test2", (string)resp.Current); Assert.Equal("*3\r\n$5\r\nSSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n", mock.GetMessage()); var response2 = redis.SScan("test", 0, pattern: "*").ToArray(); Assert.Equal("*5\r\n$5\r\nSSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n$5\r\nMATCH\r\n$1\r\n*\r\n", mock.GetMessage()); var response3 = redis.SScan("test", 0, count: 5).ToArray(); Assert.Equal("*5\r\n$5\r\nSSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n$5\r\nCOUNT\r\n$1\r\n5\r\n", mock.GetMessage()); var response4 = redis.SScan("test", 0, "*", 5).ToArray(); Assert.Equal("*7\r\n$5\r\nSSCAN\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()); } }
public void SetTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n", "+OK\r\n", "+OK\r\n", "+OK\r\n", "$-1\r\n", "$-1\r\n", "$-1\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.Set("key", "value")); Assert.Equal("*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n", mock.GetMessage()); Assert.True(redis.Set("key", "value", 1)); Assert.Equal("*5\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nEX\r\n$1\r\n1\r\n", mock.GetMessage()); Assert.True(redis.Set("key", "value", 1, RedisExpireTimeUnit.EX, behavior: RedisKeyBehavior.NX)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nEX\r\n$1\r\n1\r\n$2\r\nNX\r\n", mock.GetMessage()); Assert.True(redis.Set("key", "value", 1, RedisExpireTimeUnit.EX, behavior: RedisKeyBehavior.XX)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nEX\r\n$1\r\n1\r\n$2\r\nXX\r\n", mock.GetMessage()); Assert.False(redis.Set("key", "value", 1, RedisExpireTimeUnit.PX)); Assert.Equal("*5\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nPX\r\n$1\r\n1\r\n", mock.GetMessage()); Assert.False(redis.Set("key", "value", 1, RedisExpireTimeUnit.PX, behavior: RedisKeyBehavior.NX)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nPX\r\n$1\r\n1\r\n$2\r\nNX\r\n", mock.GetMessage()); Assert.False(redis.Set("key", "value", 1, RedisExpireTimeUnit.PX, behavior: RedisKeyBehavior.XX)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nPX\r\n$1\r\n1\r\n$2\r\nXX\r\n", mock.GetMessage()); } }
public void TestHGetAll() { using(var mock = new MockConnector("localhost", 9999, "*2\r\n$6\r\nfield1\r\n$5\r\ntest1\r\n")) using(var redis = new RedisClient(mock)) { var response = redis.HGetAll("test"); Assert.Equal(1, response.Length); Assert.Equal("field1", response[0].Field); Assert.Equal("test1", (string)response[0].Value); Assert.Equal("*2\r\n$7\r\nHGETALL\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.HGetAll("test"); Assert.Equal(2, response.Length); for(int i = 0; i < 2; i++) { Assert.Equal("field" + (i + 1), response[i].Field); Assert.Equal("value" + (i + 1), (string)response[i].Value); } }); }
public void TestZScan() { string reply = "*2\r\n$1\r\n0\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("localhost", 9999, reply, reply, reply, reply)) using (var redis = new RedisClient(mock)) { var resp = (redis.ZScan("test", 0) as RedisScan <RedisScoreItem>).GetEnumerator() as RedisScan <RedisScoreItem> .Enumerator; resp.MoveNext(); Assert.Equal(0, resp.Cursor); Assert.Equal(1, resp.Items.Length); Assert.Equal("member1", (string)resp.Current.Member); Assert.Equal(1.1, resp.Current.Score); resp.MoveNext(); Assert.Equal(0, resp.Cursor); Assert.Equal(0, resp.Items.Length); Assert.Equal("member2", (string)resp.Current.Member); Assert.Equal(2.2, resp.Current.Score); Assert.Equal("*3\r\n$5\r\nZSCAN\r\n$4\r\ntest\r\n$1\r\n0\r\n", mock.GetMessage()); var response2 = redis.ZScan("test", 0, pattern: "*").ToArray(); Assert.Equal("*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()); var response3 = redis.ZScan("test", 0, count: 5).ToArray(); Assert.Equal("*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()); var response4 = redis.ZScan("test", 0, "*", 5).ToArray(); Assert.Equal("*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()); } }
public void TestSAdd() { using(var mock = new MockConnector("localhost", 9999, ":3\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(3, redis.SAdd("test", "test1")); Assert.Equal("*3\r\n$4\r\nSADD\r\n$4\r\ntest\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void TestSInterStore() { using(var mock = new MockConnector("localhost", 9999, ":3\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(3, redis.SInterStore("destination", "key1", "key2")); Assert.Equal("*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 TestZIncrby() { using(var mock = new MockConnector("localhost", 9999, "$4\r\n3.14\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(3.14, redis.ZIncrBy("test", 1.5, "test1")); Assert.Equal("*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 TestZCard() { using(var mock = new MockConnector("localhost", 9999, ":2\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(2, redis.ZCard("test")); Assert.Equal("*2\r\n$5\r\nZCARD\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void AuthTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n", "+OK\r\n")) using (var redis = new RedisClient(mock, "my password")) { redis._connector.Connect(); Assert.Equal("*2\r\n$4\r\nAUTH\r\n$11\r\nmy password\r\n", mock.GetMessage()); } }
public void TestRPop() { using (var mock = new MockConnector("localhost", 9999, "$5\r\ntest1\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal("test1", (string)redis.RPop("test")); Assert.Equal("*2\r\n$4\r\nRPOP\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void ScriptKillTest() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.ScriptKill()); Assert.Equal("*2\r\n$6\r\nSCRIPT\r\n$4\r\nKILL\r\n", mock.GetMessage()); } }
public void ScriptLoadTest() { using(var mock = new MockConnector("localhost", 9999, "$8\r\nchecksum\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal("checksum", redis.ScriptLoad("return 1")); Assert.Equal("*3\r\n$6\r\nSCRIPT\r\n$4\r\nLOAD\r\n$8\r\nreturn 1\r\n", mock.GetMessage()); } }
public void TestLLen() { using (var mock = new MockConnector("localhost", 9999, ":3\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(3, redis.LLen("test")); Assert.Equal("*2\r\n$4\r\nLLEN\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestZCard() { using (var mock = new MockConnector("localhost", 9999, ":2\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(2, redis.ZCard("test")); Assert.Equal("*2\r\n$5\r\nZCARD\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void PingTest() { using (var mock = new MockConnector("localhost", 9999, "+PONG\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.Ping()); Assert.Equal("*1\r\n$4\r\nPING\r\n", mock.GetMessage()); } }
public void QuitTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.Quit()); Assert.Equal("*1\r\n$4\r\nQUIT\r\n", mock.GetMessage()); } }
public void PingTest() { using(var mock = new MockConnector("localhost", 9999, "+PONG\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.Ping()); Assert.Equal("*1\r\n$4\r\nPING\r\n", mock.GetMessage()); } }
public void TestLIndex() { using (var mock = new MockConnector("localhost", 9999, "$5\r\ntest1\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal("test1", (string)redis.LIndex("test", 0)); Assert.Equal("*3\r\n$6\r\nLINDEX\r\n$4\r\ntest\r\n$1\r\n0\r\n", mock.GetMessage()); } }
public void QuitTest() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.Quit()); Assert.Equal("*1\r\n$4\r\nQUIT\r\n", mock.GetMessage()); } }
public void TestZAdd_Array() { using(var mock = new MockConnector("localhost", 9999, ":2\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(2, redis.ZAdd("test", new RedisScoreItem(1.1, "test1"), new RedisScoreItem(2.2, "test2"))); Assert.Equal("*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 AuthTest() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n", "+OK\r\n")) using(var redis = new RedisClient(mock, "my password")) { redis._connector.Connect(); Assert.Equal("*2\r\n$4\r\nAUTH\r\n$11\r\nmy password\r\n", mock.GetMessage()); } }
public void SelectTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.Select(2)); Assert.Equal("*2\r\n$6\r\nSELECT\r\n$1\r\n2\r\n", mock.GetMessage()); } }
public void ClientListTest() { using (var mock = new MockConnector("localhost", 9999, "$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)) { Assert.Equal("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.Equal("*2\r\n$6\r\nCLIENT\r\n$4\r\nLIST\r\n", mock.GetMessage()); } }
public void IncrTest() { using(var mock = new MockConnector("localhost", 9999, ":5\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(5, redis.IncrBy("key")); Assert.Equal("*2\r\n$4\r\nINCR\r\n$3\r\nkey\r\n", mock.GetMessage()); } }
public void GetSetTest() { using(var mock = new MockConnector("localhost", 9999, "$5\r\nhello\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal("hello", (string)redis.GetSet("key", "new")); Assert.Equal("*3\r\n$6\r\nGETSET\r\n$3\r\nkey\r\n$3\r\nnew\r\n", mock.GetMessage()); } }
public void AppendTest() { using(var mock = new MockConnector("localhost", 9999, ":10\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(10, redis.Append("key", "x")); Assert.Equal("*3\r\n$6\r\nAPPEND\r\n$3\r\nkey\r\n$1\r\nx\r\n", mock.GetMessage()); } }
public void GetRangeTest() { using(var mock = new MockConnector("localhost", 9999, "$5\r\nhello\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal("hello", (string)redis.GetRange("key", 0, 10)); Assert.Equal("*4\r\n$8\r\nGETRANGE\r\n$3\r\nkey\r\n$1\r\n0\r\n$2\r\n10\r\n", mock.GetMessage()); } }
public void IncrByTest() { using (var mock = new MockConnector("localhost", 9999, ":5\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(5, redis.IncrBy("key", 2)); Assert.Equal("*3\r\n$6\r\nINCRBY\r\n$3\r\nkey\r\n$1\r\n2\r\n", mock.GetMessage()); } }
public void SelectTest() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using(var redis = new RedisClient(mock)) { Assert.True( redis.Select(2)); Assert.Equal("*2\r\n$6\r\nSELECT\r\n$1\r\n2\r\n", mock.GetMessage()); } }
public void AppendTest() { using (var mock = new MockConnector("localhost", 9999, ":10\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(10, redis.Append("key", "x")); Assert.Equal("*3\r\n$6\r\nAPPEND\r\n$3\r\nkey\r\n$1\r\nx\r\n", mock.GetMessage()); } }
public void ClientGetNameTest() { using(var mock = new MockConnector("localhost", 9999, "$6\r\nmyname\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal("myname", redis.ClientGetName()); Assert.Equal("*2\r\n$6\r\nCLIENT\r\n$7\r\nGETNAME\r\n", mock.GetMessage()); } }
public void BgSaveTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.BgSave()); Assert.Equal("*1\r\n$6\r\nBGSAVE\r\n", mock.GetMessage()); } }
public void ClientListTest() { using(var mock = new MockConnector("localhost", 9999, "$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)) { Assert.Equal("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.Equal("*2\r\n$6\r\nCLIENT\r\n$4\r\nLIST\r\n", mock.GetMessage()); } }
public void DbSizeTest() { using (var mock = new MockConnector("localhost", 9999, ":5\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(5, redis.DbSize()); Assert.Equal("*1\r\n$6\r\nDBSIZE\r\n", mock.GetMessage()); } }
public void LastSaveTest() { using (var mock = new MockConnector("localhost", 9999, ":1404861064\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(new DateTime(2014, 7, 8, 23, 11, 04, DateTimeKind.Utc).ToLocalTime(), redis.LastSave()); Assert.Equal("*1\r\n$8\r\nLASTSAVE\r\n", mock.GetMessage()); } }
public void FlushDbTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.FlushDb()); Assert.Equal("*1\r\n$7\r\nFLUSHDB\r\n", mock.GetMessage()); } }
public void BgRewriteAofTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.BgRewriteAof()); Assert.Equal("*1\r\n$12\r\nBGREWRITEAOF\r\n", mock.GetMessage()); } }
public void ConfigRewriteTest() { using (var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using (var redis = new RedisClient(mock)) { Assert.True(redis.ConfigRewrite()); Assert.Equal("*2\r\n$6\r\nCONFIG\r\n$7\r\nREWRITE\r\n", mock.GetMessage()); } }
public void BgSaveTest() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.BgSave()); Assert.Equal("*1\r\n$6\r\nBGSAVE\r\n", mock.GetMessage()); } }
public void BgRewriteAofTest() { using(var mock = new MockConnector("localhost", 9999, "+OK\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.BgRewriteAof()); Assert.Equal("*1\r\n$12\r\nBGREWRITEAOF\r\n", mock.GetMessage()); } }
public void ClientGetNameTest() { using (var mock = new MockConnector("localhost", 9999, "$6\r\nmyname\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal("myname", redis.ClientGetName()); Assert.Equal("*2\r\n$6\r\nCLIENT\r\n$7\r\nGETNAME\r\n", mock.GetMessage()); } }
public void DecrByTest() { using(var mock = new MockConnector("localhost", 9999, ":10\r\n")) using(var redis = new RedisClient(mock)) { Assert.Equal(10, redis.DecrBy("key", 5)); Assert.Equal("*3\r\n$6\r\nDECRBY\r\n$3\r\nkey\r\n$1\r\n5\r\n", mock.GetMessage()); } }
public void GetSetTest() { using (var mock = new MockConnector("localhost", 9999, "$5\r\nhello\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal("hello", (string)redis.GetSet("key", "new")); Assert.Equal("*3\r\n$6\r\nGETSET\r\n$3\r\nkey\r\n$3\r\nnew\r\n", mock.GetMessage()); } }
public void DecrByTest() { using (var mock = new MockConnector("localhost", 9999, ":10\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(10, redis.DecrBy("key", 5)); Assert.Equal("*3\r\n$6\r\nDECRBY\r\n$3\r\nkey\r\n$1\r\n5\r\n", mock.GetMessage()); } }
public void StrLenTest() { using (var mock = new MockConnector("localhost", 9999, ":10\r\n")) using (var redis = new RedisClient(mock)) { Assert.Equal(10, redis.StrLen("key")); Assert.Equal("*2\r\n$6\r\nSTRLEN\r\n$3\r\nkey\r\n", mock.GetMessage()); } }
public void TestExists() { using(var mock = new MockConnector("localhost", 9999, ":1\r\n", ":0\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.Exists("test1")); Assert.Equal("*2\r\n$6\r\nEXISTS\r\n$5\r\ntest1\r\n", mock.GetMessage()); Assert.False(redis.Exists("test2")); Assert.Equal("*2\r\n$6\r\nEXISTS\r\n$5\r\ntest2\r\n", mock.GetMessage()); } this.RealCall(redis => { redis.MSet(new RedisDictionary { { "key1", "value1" }, { "key2", "value2" } }); Assert.True(redis.Exists("key1")); Assert.True(redis.Exists("key2")); Assert.False(redis.Exists("test3")); }); }
public void TestExpire() { using(var mock = new MockConnector("localhost", 9999, ":1\r\n", ":0\r\n")) using(var redis = new RedisClient(mock)) { Assert.True(redis.Expire("test1", TimeSpan.FromSeconds(10))); Assert.Equal("*3\r\n$6\r\nEXPIRE\r\n$5\r\ntest1\r\n$2\r\n10\r\n", mock.GetMessage()); Assert.False(redis.Expire("test2", 20)); Assert.Equal("*3\r\n$6\r\nEXPIRE\r\n$5\r\ntest2\r\n$2\r\n20\r\n", mock.GetMessage()); } this.RealCall(redis => { redis.MSet(new RedisDictionary { { "key1", "value1" }, { "key2", "value2" } }); Assert.True(redis.Expire("key1", TimeSpan.FromSeconds(10))); Assert.True(redis.Expire("key2", 20)); Assert.True(redis.Ttl("key1") <= 10); Assert.True(redis.Ttl("key2") <= 20); }); }
public void MultiTest() { var okReply = "+OK\r\n"; using(var mock = new MockConnector("localhost", 9999, okReply, okReply)) using(var redis = new RedisClient(mock)) { using(var tran = redis.BeginTransaction()) { Assert.Equal("*1\r\n$5\r\nMULTI\r\n", mock.GetMessage()); } } }
public void TestInter() { 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.SInter("test", "another"); Assert.Equal(2, response.Length); Assert.Equal("test1", (string)response[0]); Assert.Equal("test2", (string)response[1]); Assert.Equal("*3\r\n$6\r\nSINTER\r\n$4\r\ntest\r\n$7\r\nanother\r\n", mock.GetMessage()); } }
public void TestExpireAt() { using(var mock = new MockConnector("localhost", 9999, ":1\r\n", ":0\r\n")) using(var redis = new RedisClient(mock)) { // 1402643208 = ISO 8601:2014-06-13T07:06:48Z Assert.True(redis.ExpireAt("test1", new DateTime(2014, 6, 13, 7, 6, 48, DateTimeKind.Utc))); Assert.Equal("*3\r\n$8\r\nEXPIREAT\r\n$5\r\ntest1\r\n$10\r\n1402643208\r\n", mock.GetMessage()); Assert.False(redis.ExpireAt("test2", 1402643208)); Assert.Equal("*3\r\n$8\r\nEXPIREAT\r\n$5\r\ntest2\r\n$10\r\n1402643208\r\n", mock.GetMessage()); } this.RealCall(redis => { redis.MSet(new RedisDictionary { { "key1", "value1" } }); var now = DateTime.Now; Assert.True(redis.ExpireAt("key1", now.AddSeconds(10))); var ttl = redis.Ttl("key1"); Assert.True(ttl <= 10); }); }