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
|
# vi:filetype=
use lib 'lib';
use Test::Nginx::Socket; # skip_all => 'ngx_memc storage commands do not work with the ngx_eval module';
repeat_each(2);
plan tests => repeat_each() * 2 * blocks();
$ENV{TEST_NGINX_MEMCACHED_PORT} ||= 11211;
no_long_string();
#no_diff;
run_tests();
__DATA__
=== TEST 1: set in eval (NO subrequest in memory)
--- http_config
upstream mc {
server 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- config
location = /main {
echo_location /eval;
echo_location /eval;
}
location = /eval {
eval_subrequest_in_memory off;
eval_override_content_type text/plain;
eval $res {
default_type 'text/plain';
set $memc_cmd 'set';
set $memc_key 'foo';
set $memc_value 'myvalue';
set $memc_exptime 24;
memc_pass mc;
}
echo [$res];
}
--- request
GET /eval
--- response_body
[STORED]
--- timeout: 30
--- error_code: 200
=== TEST 2: set in eval (subrequest in memory)
--- http_config
upstream mc {
server 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- config
location = /main {
echo_location /eval;
echo_location /eval;
}
location = /eval {
eval_subrequest_in_memory on;
eval_override_content_type text/plain;
eval $res {
default_type 'text/plain';
set $memc_cmd 'set';
set $memc_key 'foo';
set $memc_value 'myvalue';
set $memc_exptime 24;
memc_pass mc;
}
echo [$res];
}
--- request
GET /eval
--- response_body
[STORED]
--- timeout: 30
--- error_code: 200
=== TEST 3: set in eval (subrequest in memory)
--- http_config
upstream mc {
server 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- config
location = /main {
echo_location /get;
echo_location /del?foo;
}
location = /get {
set $memc_cmd get;
set $memc_key foo;
memc_pass mc;
}
location = /del {
eval $res {
set $memc_cmd delete;
set $memc_key $query_string;
memc_pass mc;
}
return 200;
}
--- request
GET /main
--- response_body
[STORED]
--- timeout: 30
--- error_code: 200
--- SKIP
|