summaryrefslogtreecommitdiff
path: root/tests/integration/replication-4.tcl
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2013-05-30 18:54:28 +0200
committerantirez <antirez@gmail.com>2013-05-30 18:54:28 +0200
commit434a86dbd879e7feeea6c939899565717bf9d913 (patch)
treee84a17d7b297f31d16bc3a744c127e2c3e0bc85d /tests/integration/replication-4.tcl
parent915c06a96ca7d96818321da5e0a8201c11bbac22 (diff)
downloadredis-434a86dbd879e7feeea6c939899565717bf9d913.tar.gz
Tests added for min-slaves feature.
Diffstat (limited to 'tests/integration/replication-4.tcl')
-rw-r--r--tests/integration/replication-4.tcl42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/integration/replication-4.tcl b/tests/integration/replication-4.tcl
index 29ab48fc2..7a3b0822f 100644
--- a/tests/integration/replication-4.tcl
+++ b/tests/integration/replication-4.tcl
@@ -54,3 +54,45 @@ start_server {tags {"repl"}} {
}
}
}
+
+start_server {tags {"repl"}} {
+ start_server {} {
+ set master [srv -1 client]
+ set master_host [srv -1 host]
+ set master_port [srv -1 port]
+ set slave [srv 0 client]
+
+ test {First server should have role slave after SLAVEOF} {
+ $slave slaveof $master_host $master_port
+ wait_for_condition 50 100 {
+ [s 0 master_link_status] eq {up}
+ } else {
+ fail "Replication not started."
+ }
+ }
+
+ test {With min-slaves-to-write (1,3): master should be writable} {
+ $master config set min-slaves-max-lag 3
+ $master config set min-slaves-to-write 1
+ $master set foo bar
+ } {OK}
+
+ test {With min-slaves-to-write (2,3): master should not be writable} {
+ $master config set min-slaves-max-lag 3
+ $master config set min-slaves-to-write 2
+ catch {$master set foo bar} e
+ set e
+ } {NOREPLICAS*}
+
+ test {With min-slaves-to-write: master not writable with lagged slave} {
+ $master config set min-slaves-max-lag 2
+ $master config set min-slaves-to-write 1
+ assert {[$master set foo bar] eq {OK}}
+ $slave deferred 1
+ $slave debug sleep 4
+ after 3000
+ catch {$master set foo bar} e
+ set e
+ } {NOREPLICAS*}
+ }
+}