lua-nginx-module/t/113-req-header-cookie.t

252 строки
4.6 KiB
Perl

# vim:set ft= ts=4 sw=4 et fdm=marker:
use lib 'lib';
use t::TestNginxLua;
#worker_connections(1014);
#master_process_enabled(1);
#log_level('warn');
repeat_each(2);
plan tests => repeat_each() * (4 * blocks());
#no_diff();
no_long_string();
run_tests();
__DATA__
=== TEST 1: clear cookie (with existing cookies)
--- config
location /t {
rewrite_by_lua '
ngx.req.set_header("Cookie", nil)
';
echo "Cookie foo: $cookie_foo";
echo "Cookie baz: $cookie_baz";
echo "Cookie: $http_cookie";
}
--- request
GET /t
--- more_headers
Cookie: foo=bar
Cookie: baz=blah
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
printf("rewrite: cookies: %d\n", $r->headers_in->cookies->nelts)
}
F(ngx_http_core_content_phase) {
printf("content: cookies: %d\n", $r->headers_in->cookies->nelts)
}
--- stap_out
rewrite: cookies: 2
content: cookies: 0
--- response_body
Cookie foo:
Cookie baz:
Cookie:
--- no_error_log
[error]
=== TEST 2: clear cookie (without existing cookies)
--- config
location /t {
rewrite_by_lua '
ngx.req.set_header("Cookie", nil)
';
echo "Cookie foo: $cookie_foo";
echo "Cookie baz: $cookie_baz";
echo "Cookie: $http_cookie";
}
--- request
GET /t
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
printf("rewrite: cookies: %d\n", $r->headers_in->cookies->nelts)
}
F(ngx_http_core_content_phase) {
printf("content: cookies: %d\n", $r->headers_in->cookies->nelts)
}
--- stap_out
rewrite: cookies: 0
content: cookies: 0
--- response_body
Cookie foo:
Cookie baz:
Cookie:
--- no_error_log
[error]
=== TEST 3: set one custom cookie (with existing cookies)
--- config
location /t {
rewrite_by_lua '
ngx.req.set_header("Cookie", "boo=123")
';
echo "Cookie foo: $cookie_foo";
echo "Cookie baz: $cookie_baz";
echo "Cookie boo: $cookie_boo";
echo "Cookie: $http_cookie";
}
--- request
GET /t
--- more_headers
Cookie: foo=bar
Cookie: baz=blah
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
printf("rewrite: cookies: %d\n", $r->headers_in->cookies->nelts)
}
F(ngx_http_core_content_phase) {
printf("content: cookies: %d\n", $r->headers_in->cookies->nelts)
}
--- stap_out
rewrite: cookies: 2
content: cookies: 1
--- response_body
Cookie foo:
Cookie baz:
Cookie boo: 123
Cookie: boo=123
--- no_error_log
[error]
=== TEST 4: set one custom cookie (without existing cookies)
--- config
location /t {
rewrite_by_lua '
ngx.req.set_header("Cookie", "boo=123")
';
echo "Cookie foo: $cookie_foo";
echo "Cookie baz: $cookie_baz";
echo "Cookie boo: $cookie_boo";
echo "Cookie: $http_cookie";
}
--- request
GET /t
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
printf("rewrite: cookies: %d\n", $r->headers_in->cookies->nelts)
}
F(ngx_http_core_content_phase) {
printf("content: cookies: %d\n", $r->headers_in->cookies->nelts)
}
--- stap_out
rewrite: cookies: 0
content: cookies: 1
--- response_body
Cookie foo:
Cookie baz:
Cookie boo: 123
Cookie: boo=123
--- no_error_log
[error]
=== TEST 5: set multiple custom cookies (with existing cookies)
--- config
location /t {
rewrite_by_lua '
ngx.req.set_header("Cookie", {"boo=123","foo=78"})
';
echo "Cookie foo: $cookie_foo";
echo "Cookie baz: $cookie_baz";
echo "Cookie boo: $cookie_boo";
echo "Cookie: $http_cookie";
}
--- request
GET /t
--- more_headers
Cookie: foo=bar
Cookie: baz=blah
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
printf("rewrite: cookies: %d\n", $r->headers_in->cookies->nelts)
}
F(ngx_http_core_content_phase) {
printf("content: cookies: %d\n", $r->headers_in->cookies->nelts)
}
--- stap_out
rewrite: cookies: 2
content: cookies: 2
--- response_body
Cookie foo: 78
Cookie baz:
Cookie boo: 123
Cookie: boo=123; foo=78
--- no_error_log
[error]
=== TEST 6: set multiple custom cookies (without existing cookies)
--- config
location /t {
rewrite_by_lua '
ngx.req.set_header("Cookie", {"boo=123", "foo=bar"})
';
echo "Cookie foo: $cookie_foo";
echo "Cookie baz: $cookie_baz";
echo "Cookie boo: $cookie_boo";
echo "Cookie: $http_cookie";
}
--- request
GET /t
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
printf("rewrite: cookies: %d\n", $r->headers_in->cookies->nelts)
}
F(ngx_http_core_content_phase) {
printf("content: cookies: %d\n", $r->headers_in->cookies->nelts)
}
--- stap_out
rewrite: cookies: 0
content: cookies: 2
--- response_body
Cookie foo: bar
Cookie baz:
Cookie boo: 123
Cookie: boo=123; foo=bar
--- no_error_log
[error]