summaryrefslogtreecommitdiffstats
path: root/tests/unittests/command_parse/test_cluster.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests/command_parse/test_cluster.py')
-rw-r--r--tests/unittests/command_parse/test_cluster.py255
1 files changed, 255 insertions, 0 deletions
diff --git a/tests/unittests/command_parse/test_cluster.py b/tests/unittests/command_parse/test_cluster.py
new file mode 100644
index 0000000..6dd877f
--- /dev/null
+++ b/tests/unittests/command_parse/test_cluster.py
@@ -0,0 +1,255 @@
+"""
+redis command in `cluster` group parse test.
+"""
+
+
+def test_command_cluster_addslots(judge_command):
+ judge_command("cluster addslots 1", {"command": "cluster addslots", "slots": "1"})
+ judge_command("CLUSTER ADDSLOTS 1", {"command": "CLUSTER ADDSLOTS", "slots": "1"})
+ judge_command(
+ "cluster addslots 1 2 3 4", {"command": "cluster addslots", "slots": "1 2 3 4"}
+ )
+ judge_command("cluster addslots 1 a", None)
+ judge_command("cluster addslots a", None)
+ judge_command("cluster addslots a 4", None)
+ judge_command("cluster addslots abc", None)
+
+
+def test_command_cluster_count_failure_reports(judge_command):
+ judge_command(
+ "cluster count-failure-reports 1",
+ {"command": "cluster count-failure-reports", "node": "1"},
+ )
+ judge_command(
+ "CLUSTER COUNT-FAILURE-REPORTS 1",
+ {"command": "CLUSTER COUNT-FAILURE-REPORTS", "node": "1"},
+ )
+ judge_command("cluster count-failure-reports 1 2 3 4", None)
+ judge_command("cluster count-failure-reports 1 a", None)
+ judge_command(
+ "cluster count-failure-reports a",
+ {"command": "cluster count-failure-reports", "node": "a"},
+ )
+ judge_command("cluster count-failure-reports a 2", None)
+ judge_command(
+ "cluster count-failure-reports abc",
+ {"command": "cluster count-failure-reports", "node": "abc"},
+ )
+
+
+def test_command_cluster_countkeysinslot(judge_command):
+ judge_command(
+ "cluster countkeysinslot 1", {"command": "cluster countkeysinslot", "slot": "1"}
+ )
+ judge_command(
+ "CLUSTER COUNTKEYSINSLOT 1", {"command": "CLUSTER COUNTKEYSINSLOT", "slot": "1"}
+ )
+ judge_command("cluster countkeysinslot 1 2 3 4", None)
+ judge_command("cluster countkeysinslot 1 a", None)
+ judge_command("cluster countkeysinslot a", None)
+ judge_command("cluster countkeysinslot a 4", None)
+ judge_command("cluster countkeysinslot abc", None)
+
+
+def test_command_cluster_delslots(judge_command):
+ judge_command("cluster delslots 1", {"command": "cluster delslots", "slots": "1"})
+ judge_command("CLUSTER DELSLOTS 1", {"command": "CLUSTER DELSLOTS", "slots": "1"})
+ judge_command(
+ "cluster delslots 1 2 3 4", {"command": "cluster delslots", "slots": "1 2 3 4"}
+ )
+ judge_command("cluster delslots 1 a", None)
+ judge_command("cluster delslots a", None)
+ judge_command("cluster delslots a 4", None)
+ judge_command("cluster delslots abc", None)
+
+
+def test_command_cluster_failover(judge_command):
+ judge_command(
+ "cluster failover force",
+ {"command": "cluster failover", "failoverchoice": "force"},
+ )
+ judge_command(
+ "cluster failover takeover",
+ {"command": "cluster failover", "failoverchoice": "takeover"},
+ )
+ judge_command(
+ "CLUSTER FAILOVER FORCE",
+ {"command": "CLUSTER FAILOVER", "failoverchoice": "FORCE"},
+ )
+ judge_command(
+ "CLUSTER FAILOVER takeover",
+ {"command": "CLUSTER FAILOVER", "failoverchoice": "takeover"},
+ )
+ judge_command(
+ "CLUSTER FAILOVER TAKEOVER",
+ {"command": "CLUSTER FAILOVER", "failoverchoice": "TAKEOVER"},
+ )
+
+
+def test_command_cluster_forget(judge_command):
+ judge_command("cluster forget 1", {"command": "cluster forget", "node": "1"})
+ judge_command(
+ "CLUSTER COUNT-FAILURE-REPORTS 1",
+ {"command": "CLUSTER COUNT-FAILURE-REPORTS", "node": "1"},
+ )
+ judge_command("cluster forget 1 2 3 4", None)
+ judge_command("cluster forget 1 a", None)
+ judge_command("cluster forget a", {"command": "cluster forget", "node": "a"})
+ judge_command("cluster forget a 2", None)
+ judge_command(
+ "cluster forget abc",
+ {
+ "command": "cluster forget",
+ "node": "abc",
+ },
+ )
+ judge_command(
+ "cluster forget 07c37dfeb235213a872192d90877d0cd55635b91",
+ {
+ "command": "cluster forget",
+ "node": "07c37dfeb235213a872192d90877d0cd55635b91",
+ },
+ )
+
+
+def test_command_cluster_getkeysinslot(judge_command):
+ judge_command(
+ "cluster getkeysinslot 1 1",
+ {"command": "cluster getkeysinslot", "slot": "1", "count": "1"},
+ )
+ judge_command(
+ "CLUSTER GETKEYSINSLOT 1 1",
+ {"command": "CLUSTER GETKEYSINSLOT", "slot": "1", "count": "1"},
+ )
+ judge_command(
+ "cluster getkeysinslot 1123 1121",
+ {"command": "cluster getkeysinslot", "slot": "1123", "count": "1121"},
+ )
+ judge_command("cluster getkeysinslot 1 2 3 4", None)
+ judge_command("cluster getkeysinslot 1 a", None)
+ judge_command("cluster getkeysinslot a", None)
+ judge_command("cluster getkeysinslot a 4", None)
+ judge_command("cluster getkeysinslot abc", None)
+
+
+def test_command_cluster_info(judge_command):
+ judge_command("cluster info", {"command": "cluster info"})
+ judge_command("CLUSTER INFO", {"command": "CLUSTER INFO"})
+ judge_command("CLUSTER INFO 1", None)
+ judge_command("Acluster info", "invalid")
+
+
+def test_command_cluster_keyslot(judge_command):
+ judge_command(
+ "cluster keyslot mykey", {"command": "cluster keyslot", "key": "mykey"}
+ )
+ judge_command(
+ "cluster keyslot MYKEY", {"command": "cluster keyslot", "key": "MYKEY"}
+ )
+ judge_command(
+ "CLUSTER KEYSLOT MYKEY", {"command": "CLUSTER KEYSLOT", "key": "MYKEY"}
+ )
+
+
+def test_command_cluster_meet(judge_command):
+ judge_command(
+ "cluster meet 192.168.0.1 12200",
+ {"command": "cluster meet", "ip": "192.168.0.1", "port": "12200"},
+ )
+ judge_command(
+ "CLUSTER MEET 192.168.0.1 12200",
+ {"command": "CLUSTER MEET", "ip": "192.168.0.1", "port": "12200"},
+ )
+
+
+def test_command_cluster_nodes(judge_command):
+ judge_command("cluster nodes", {"command": "cluster nodes"})
+ judge_command("CLUSTER NODES", {"command": "CLUSTER NODES"})
+
+
+def test_command_cluster_reset(judge_command):
+ judge_command(
+ "cluster reset hard", {"command": "cluster reset", "resetchoice": "hard"}
+ )
+ judge_command(
+ "cluster reset soft", {"command": "cluster reset", "resetchoice": "soft"}
+ )
+ judge_command(
+ "CLUSTER RESET HARD", {"command": "CLUSTER RESET", "resetchoice": "HARD"}
+ )
+ judge_command(
+ "CLUSTER RESET soft", {"command": "CLUSTER RESET", "resetchoice": "soft"}
+ )
+ judge_command(
+ "CLUSTER RESET SOFT", {"command": "CLUSTER RESET", "resetchoice": "SOFT"}
+ )
+ judge_command("CLUSTER RESET SOFT1", None)
+ judge_command("CLUSTER RESET SAOFT", None)
+
+
+def test_command_cluster_set_config_epoch(judge_command):
+ judge_command("cluster set-config-epoch 123123 ad", None)
+ judge_command(
+ "cluster set-config-epoch 0 ",
+ {"command": "cluster set-config-epoch", "epoch": "0"},
+ )
+ judge_command(
+ "cluster set-config-epoch 123123 ",
+ {"command": "cluster set-config-epoch", "epoch": "123123"},
+ )
+
+
+def test_command_cluster_set_slot(judge_command):
+ judge_command(
+ "cluster setslot 123 importing 123123",
+ {
+ "command": "cluster setslot",
+ "slot": "123",
+ "slotsubcmd": "importing",
+ "node": "123123",
+ },
+ )
+ judge_command(
+ "cluster setslot 123 migrating 123123",
+ {
+ "command": "cluster setslot",
+ "slot": "123",
+ "slotsubcmd": "migrating",
+ "node": "123123",
+ },
+ )
+ judge_command(
+ "cluster setslot 123 node 123123",
+ {
+ "command": "cluster setslot",
+ "slot": "123",
+ "slotsubcmd": "node",
+ "node": "123123",
+ },
+ )
+ judge_command(
+ "cluster setslot 123 node e7d1eecce10fd6bb5eb35b9f99a514335d9ba9ca",
+ {
+ "command": "cluster setslot",
+ "slot": "123",
+ "slotsubcmd": "node",
+ "node": "e7d1eecce10fd6bb5eb35b9f99a514335d9ba9ca",
+ },
+ )
+ judge_command(
+ "cluster setslot 123 MIGRATING 123123",
+ {
+ "command": "cluster setslot",
+ "slot": "123",
+ "slotsubcmd": "MIGRATING",
+ "node": "123123",
+ },
+ )
+ judge_command(
+ "cluster setslot 123 stable",
+ {"command": "cluster setslot", "slot": "123", "slotsubcmd": "stable"},
+ )
+ judge_command(
+ "cluster setslot 123 STABLE",
+ {"command": "cluster setslot", "slot": "123", "slotsubcmd": "STABLE"},
+ )