futriix/tests/integration/replica-redirect.tcl

37 lines
1.1 KiB
Tcl
Raw Normal View History

start_server {tags {needs:repl external:skip}} {
start_server {} {
set primary_host [srv -1 host]
set primary_port [srv -1 port]
r replicaof $primary_host $primary_port
wait_for_condition 50 100 {
[s 0 master_link_status] eq {up}
} else {
fail "Replicas not replicating from primary"
}
test {replica allow read command by default} {
r get foo
} {}
test {replica reply READONLY error for write command by default} {
assert_error {READONLY*} {r set foo bar}
}
test {replica redirect read and write command after CLIENT CAPA REDIRECT} {
r client capa redirect
assert_error "REDIRECT $primary_host:$primary_port" {r set foo bar}
assert_error "REDIRECT $primary_host:$primary_port" {r get foo}
}
test {non-data access commands are not redirected} {
r ping
} {PONG}
test {replica allow read command in READONLY mode} {
r readonly
r get foo
} {}
}
}