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
|