CG: test XGROUPREAD abilities.

This commit is contained in:
antirez 2018-02-16 11:57:27 +01:00
parent 18ab0e31f3
commit c2ecac4746

View File

@ -8,4 +8,34 @@ start_server {
catch {r XGROUP CREATE mystream mygroup $} err catch {r XGROUP CREATE mystream mygroup $} err
set err set err
} {BUSYGROUP*} } {BUSYGROUP*}
test {XREADGROUP will return only new elements} {
r XADD mystream * a 1
r XADD mystream * b 2
# XREADGROUP should return only the new elements "a 1" "b 1"
# and not the element "foo bar" which was pre existing in the
# stream (see previous test)
set reply [
r XREADGROUP GROUP mygroup client-1 STREAMS mystream ">"
]
assert {[llength [lindex $reply 0 1]] == 2}
lindex $reply 0 1 0 1
} {a 1}
test {XREADGROUP can read the history of the elements we own} {
# Add a few more elements
r XADD mystream * c 3
r XADD mystream * d 4
# Read a few elements using a different consumer name
set reply [
r XREADGROUP GROUP mygroup client-2 STREAMS mystream ">"
]
assert {[llength [lindex $reply 0 1]] == 2}
assert {[lindex $reply 0 1 0 1] eq {c 3}}
set r1 [r XREADGROUP GROUP mygroup client-1 COUNT 10 STREAMS mystream 0]
set r2 [r XREADGROUP GROUP mygroup client-2 COUNT 10 STREAMS mystream 0]
assert {[lindex $r1 0 1 0 1] eq {a 1}}
assert {[lindex $r2 0 1 0 1] eq {c 3}}
}
} }