summaryrefslogtreecommitdiff
path: root/tests/unit/moduleapi/hooks.tcl
blob: 7a727902d0092b782c2eabdd281e17148a67ff04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
set testmodule [file normalize tests/modules/hooks.so]

tags "modules" {
    start_server {} {
        r module load $testmodule
        test {Test clients connection / disconnection hooks} {
            for {set j 0} {$j < 2} {incr j} {
                set rd1 [redis_deferring_client]
                $rd1 close
            }
            assert {[r llen connected] > 1}
            assert {[r llen disconnected] > 1}
        }

        test {Test flushdb hooks} {
            r flushall ;# Note: only the "end" RPUSH will survive
            r select 1
            r flushdb
            r select 2
            r flushdb
            r select 9
            assert {[r llen flush-start] == 2}
            assert {[r llen flush-end] == 3}
            assert {[r lrange flush-start 0 -1] eq {1 2}}
            assert {[r lrange flush-end 0 -1] eq {-1 1 2}}
        }
    }
}