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 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
|
# vi:filetype=
use lib 'lib';
use Test::Nginx::Socket;
#repeat_each(2);
plan tests => repeat_each() * (5 * blocks() + 4);
$ENV{TEST_NGINX_MEMCACHED_PORT} ||= 11211;
#master_on();
no_shuffle();
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;
}
--- response_headers
Content-Type: text/plain
Content-Length: 4
!Foo-Bar
--- request
GET /flush
--- response_body eval: "OK\r\n"
=== TEST 2: basic fetch (Set-Cookie and Proxy-Authenticate hide by default)
--- config
location /foo {
default_type text/css;
srcache_fetch GET /memc $uri;
srcache_store PUT /memc $uri;
content_by_lua '
ngx.header["Set-Cookie"] = "foo=baz"
ngx.header["Proxy-Authenticate"] = "blah"
ngx.say("hello")
';
}
location /memc {
internal;
set $memc_key $query_string;
set $memc_exptime 300;
memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- request
GET /foo
--- response_headers
Content-Type: text/css
Content-Length:
Set-Cookie: foo=baz
Proxy-Authenticate: blah
--- response_body
hello
=== TEST 3: basic fetch (cache hit)
--- config
location /foo {
default_type text/css;
srcache_fetch GET /memc $uri;
srcache_store PUT /memc $uri;
echo world;
}
location /memc {
internal;
set $memc_key $query_string;
set $memc_exptime 300;
memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- request
GET /foo
--- response_headers
Content-Type: text/css
Content-Length: 6
!Set-Cookie
!Proxy-Authenticate
--- response_body
hello
=== TEST 4: flush all
--- config
location /flush {
set $memc_cmd 'flush_all';
memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- response_headers
Content-Type: text/plain
Content-Length: 4
!Foo-Bar
--- request
GET /flush
--- response_body eval: "OK\r\n"
=== TEST 5: basic fetch (Set-Cookie hide by default)
--- config
location /foo {
default_type text/css;
srcache_fetch GET /memc $uri;
srcache_store PUT /memc $uri;
srcache_store_pass_header Set-Cookie;
srcache_store_pass_header Proxy-Authenticate;
content_by_lua '
ngx.header["Set-Cookie"] = "foo=baz"
ngx.header["Proxy-Authenticate"] = "blah"
ngx.say("hello")
';
}
location /memc {
internal;
set $memc_key $query_string;
set $memc_exptime 300;
memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- request
GET /foo
--- response_headers
Content-Type: text/css
Content-Length:
Set-Cookie: foo=baz
Proxy-Authenticate: blah
--- response_body
hello
=== TEST 6: basic fetch (cache hit)
--- config
location /foo {
default_type text/css;
srcache_fetch GET /memc $uri;
srcache_store PUT /memc $uri;
echo world;
}
location /memc {
internal;
set $memc_key $query_string;
set $memc_exptime 300;
memc_pass 127.0.0.1:$TEST_NGINX_MEMCACHED_PORT;
}
--- request
GET /foo
--- response_headers
Content-Type: text/css
Content-Length: 6
Set-Cookie: foo=baz
Proxy-Authenticate: blah
--- response_body
hello
|