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
|
# vim:set ft= ts=4 sw=4 et fdm=marker:
use Test::Nginx::Socket::Lua;
#worker_connections(1014);
#master_process_enabled(1);
log_level('debug'); # to ensure any log-level can be outputted
repeat_each(2);
plan tests => repeat_each() * (blocks() * 2 + 2);
#no_diff();
#no_long_string();
run_tests();
__DATA__
=== TEST 1: test reading request body
--- config
location /echo_body {
lua_need_request_body on;
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"hello\x00\x01\x02
world\x03\x04\xff"
=== TEST 2: test not reading request body
--- config
location /echo_body {
lua_need_request_body off;
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"nil"
=== TEST 3: test default setting (not reading request body)
--- config
location /echo_body {
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"nil"
=== TEST 4: test main conf
--- http_config
lua_need_request_body on;
--- config
location /echo_body {
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"hello\x00\x01\x02
world\x03\x04\xff"
=== TEST 5: test server conf
--- config
lua_need_request_body on;
location /echo_body {
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"hello\x00\x01\x02
world\x03\x04\xff"
=== TEST 6: test override main conf
--- http_config
lua_need_request_body on;
--- config
location /echo_body {
lua_need_request_body off;
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"nil"
=== TEST 7: test override server conf
--- config
lua_need_request_body on;
location /echo_body {
lua_need_request_body off;
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
';
content_by_lua 'ngx.exit(ngx.OK)';
}
--- request eval
"POST /echo_body
hello\x00\x01\x02
world\x03\x04\xff"
--- response_body eval
"nil"
=== TEST 8: Expect: 100-Continue
--- config
location /echo_body {
lua_need_request_body on;
rewrite_by_lua '
ngx.print(ngx.var.request_body or "nil")
ngx.exit(200)
';
}
--- request
POST /echo_body
hello world
--- more_headers
Expect: 100-Continue
--- ignore_response
--- no_error_log
[error]
[alert]
http finalize request: 500, "/echo_body?" a:1, c:2
http finalize request: 500, "/echo_body?" a:1, c:0
--- log_level: debug
|