File: flush-all.t

package info (click to toggle)
libnginx-mod-http-memc 0.20-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 424 kB
  • sloc: ansic: 2,905; perl: 120; sh: 115; makefile: 9
file content (120 lines) | stat: -rw-r--r-- 2,187 bytes parent folder | download | duplicates (3)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# vi:filetype=

use lib 'lib';
use Test::Nginx::Socket;

plan tests => repeat_each() * 2 * blocks();

$ENV{TEST_NGINX_MEMCACHED_PORT} ||= 11211;

#no_diff;

run_tests();

__DATA__

=== TEST 1: flush_all
--- config
    location /flush {
        set $memc_cmd flush_all;
        memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
    }
--- request
    GET /flush
--- response_body eval
"OK\r
"



=== TEST 2: set and flush and get
--- config
    location /main {
        echo 'set foo blah';
        echo_location '/memc?key=foo&cmd=set&val=blah';

        echo 'flush_all';
        echo_location '/memc?cmd=flush_all';

        echo 'get foo';
        echo_location '/memc?key=foo&cmd=get';
    }
    location /memc {
        echo_before_body "status: $echo_response_status";

        set $memc_cmd $arg_cmd;
        set $memc_key $arg_key;
        set $memc_value $arg_val;

        memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
    }
--- request
    GET /main
--- response_body_like
^set foo blah
status: 201
STORED\r
flush_all
status: 200
OK\r
get foo
status: 404.*?404 Not Found.*$



=== TEST 3: set exptime
--- config
    location /exptime {
        echo 'flush_all';
        echo_location '/memc?cmd=flush_all';

        echo 'set foo BAR';
        echo_subrequest PUT '/memc?key=foo' -b BAR;

        echo 'flush_all exptime=2';
        echo_location '/memc?cmd=flush_all&exptime=2';

        echo 'get foo - 0 sec';
        echo_location '/memc?key=foo';
        echo;

        echo_blocking_sleep 2;

        echo 'get foo - 2 sec';
        echo_location '/memc?key=foo';
    }
    location /memc {
        echo_before_body "status: $echo_response_status";
        echo_before_body "exptime: $memc_exptime";

        set $memc_cmd $arg_cmd;
        set $memc_key $arg_key;
        set $memc_exptime $arg_exptime;

        memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
    }
--- request
    GET /exptime
--- response_body_like
flush_all
status: 200
exptime: 
OK\r
set foo BAR
status: 201
exptime: 0
STORED\r
flush_all exptime=2
status: 200
exptime: 2
OK\r
get foo - 0 sec
status: 200
exptime: 
BAR
get foo - 2 sec
status: 404
exptime: 
<html>.*?404 Not Found.*$
--- timeout: 3