diff --git a/tests/cluster/tests/01-faildet.tcl b/tests/cluster/tests/01-faildet.tcl new file mode 100644 index 00000000..883548ca --- /dev/null +++ b/tests/cluster/tests/01-faildet.tcl @@ -0,0 +1,31 @@ +# Check the basic monitoring and failover capabilities. + +source "../tests/includes/init-tests.tcl" + +proc create_cluster {masters slaves} { + cluster_allocate_slots $masters + if {$slaves} { + cluster_allocate_slaves $masters $slaves + } + assert_cluster_state ok +} + +test "Create a 5 nodes cluster" { + create_cluster 5 0 +} + +test "Killing one master node" { + kill_instance redis 0 +} + +test "Cluster should be down now" { + assert_cluster_state fail +} + +test "Restarting master node" { + restart_instance redis 0 +} + +test "Cluster should be up again" { + assert_cluster_state ok +} diff --git a/tests/cluster/tests/includes/init-tests.tcl b/tests/cluster/tests/includes/init-tests.tcl index 849dba23..9f34be18 100644 --- a/tests/cluster/tests/includes/init-tests.tcl +++ b/tests/cluster/tests/includes/init-tests.tcl @@ -23,6 +23,7 @@ test "Cluster nodes hard reset" { foreach_redis_id id { R $id flushall R $id cluster reset hard + R $id config set cluster-node-timeout 3000 } }