Mercurial > hg > nginx-tests
annotate js.t @ 1677:f13ead27f89c
Tests: improved stop() to send TERM after QUIT.
It is possible that graceful stop as initiated by SIGQUIT will take
very long time, such as when waiting for proxy_timeout in mail proxy
(defaults to 24h). To make sure in such cases nginx is stopped after
some reasonable time, we now send SIGTERM after waiting for 90 seconds.
Note that win32 version previously used "-s stop", which is equivalent
to SIGTERM rather than SIGQUIT. This seems accidental error during
introduction of initial win32 support in tests (ce2e23daa1da), so
it is changed to follow the same logic.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 19 May 2021 04:32:55 +0300 |
parents | 456bf219d768 |
children | 18ac4d9e5a2a |
rev | line source |
---|---|
708 | 1 #!/usr/bin/perl |
2 | |
3 # (C) Roman Arutyunyan | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
4 # (C) Dmitry Volyntsev |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
5 # (C) Nginx, Inc. |
708 | 6 |
1375
f168fc46c7a4
Tests: renamed JavaScript to njs.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1336
diff
changeset
|
7 # Tests for http njs module. |
708 | 8 |
9 ############################################################################### | |
10 | |
11 use warnings; | |
12 use strict; | |
13 | |
14 use Test::More; | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
15 use Socket qw/ CRLF /; |
708 | 16 |
17 BEGIN { use FindBin; chdir($FindBin::Bin); } | |
18 | |
19 use lib 'lib'; | |
20 use Test::Nginx; | |
21 | |
22 ############################################################################### | |
23 | |
24 select STDERR; $| = 1; | |
25 select STDOUT; $| = 1; | |
26 | |
864
460a9cadbd2f
Tests: do not check for njs presence, just try js.t configuration.
Sergey Kandaurov <pluknet@nginx.com>
parents:
709
diff
changeset
|
27 my $t = Test::Nginx->new()->has(qw/http rewrite/) |
708 | 28 ->write_file_expand('nginx.conf', <<'EOF'); |
29 | |
30 %%TEST_GLOBALS%% | |
31 | |
32 daemon off; | |
33 | |
34 events { | |
35 } | |
36 | |
37 http { | |
38 %%TEST_GLOBALS_HTTP%% | |
39 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
40 js_set $test_method test_method; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
41 js_set $test_version test_version; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
42 js_set $test_addr test_addr; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
43 js_set $test_uri test_uri; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
44 js_set $test_arg test_arg; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
45 js_set $test_iarg test_iarg; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
46 js_set $test_var test_var; |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
47 js_set $test_type test_type; |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
48 js_set $test_global test_global; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
49 js_set $test_log test_log; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
50 js_set $test_except test_except; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
51 |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
52 js_include test.js; |
708 | 53 |
54 server { | |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
55 listen 127.0.0.1:8080; |
708 | 56 server_name localhost; |
57 | |
1333
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
58 location /njs { |
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
59 js_content test_njs; |
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
60 } |
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
61 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
62 location /method { |
708 | 63 return 200 $test_method; |
64 } | |
65 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
66 location /version { |
708 | 67 return 200 $test_version; |
68 } | |
69 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
70 location /addr { |
708 | 71 return 200 $test_addr; |
72 } | |
73 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
74 location /uri { |
708 | 75 return 200 $test_uri; |
76 } | |
77 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
78 location /arg { |
708 | 79 return 200 $test_arg; |
80 } | |
81 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
82 location /iarg { |
708 | 83 return 200 $test_iarg; |
84 } | |
85 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
86 location /var { |
1001
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
87 return 200 $test_var; |
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
88 } |
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
89 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
90 location /global { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
91 return 200 $test_global; |
1001
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
92 } |
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
93 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
94 location /body { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
95 js_content request_body; |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
96 } |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
97 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
98 location /in_file { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
99 client_body_in_file_only on; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
100 js_content request_body; |
1331
f48d2792730e
Tests: added njs empty js_content handler test.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1315
diff
changeset
|
101 } |
f48d2792730e
Tests: added njs empty js_content handler test.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1315
diff
changeset
|
102 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
103 location /status { |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
104 js_content status; |
708 | 105 } |
106 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
107 location /request_body { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
108 js_content request_body; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
109 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
110 |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
111 location /request_body_cache { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
112 js_content request_body_cache; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
113 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
114 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
115 location /send { |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
116 js_content send; |
708 | 117 } |
118 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
119 location /return_method { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
120 js_content return_method; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
121 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
122 |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
123 location /arg_keys { |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
124 js_content arg_keys; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
125 } |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
126 |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
127 location /type { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
128 js_content test_type; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
129 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
130 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
131 location /log { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
132 return 200 $test_log; |
1001
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
133 } |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
134 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
135 location /except { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
136 return 200 $test_except; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
137 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
138 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
139 location /content_except { |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
140 js_content content_except; |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
141 } |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
142 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
143 location /content_empty { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
144 js_content content_empty; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
145 } |
708 | 146 } |
147 } | |
148 | |
149 EOF | |
150 | |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
151 $t->write_file('test.js', <<EOF); |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
152 var global = ['n', 'j', 's'].join(""); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
153 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
154 function test_njs(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
155 r.return(200, njs.version); |
1333
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
156 } |
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
157 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
158 function test_method(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
159 return 'method=' + r.method; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
160 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
161 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
162 function test_version(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
163 return 'version=' + r.httpVersion; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
164 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
165 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
166 function test_addr(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
167 return 'addr=' + r.remoteAddress; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
168 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
169 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
170 function test_uri(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
171 return 'uri=' + r.uri; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
172 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
173 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
174 function test_arg(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
175 return 'arg=' + r.args.foo; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
176 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
177 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
178 function test_iarg(r) { |
1106
4b0b10e39a08
Tests: fixed implicitly declared njs variables after 4337ed48d6d6.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1001
diff
changeset
|
179 var s = '', a; |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
180 for (a in r.args) { |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
181 if (a.substr(0, 3) == 'foo') { |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
182 s += r.args[a]; |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
183 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
184 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
185 return s; |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
186 } |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
187 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
188 function test_var(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
189 return 'variable=' + r.variables.remote_addr; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
190 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
191 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
192 function test_global(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
193 return 'global=' + global; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
194 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
195 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
196 function status(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
197 r.status = 204; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
198 r.sendHeader(); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
199 r.finish(); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
200 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
201 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
202 function request_body(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
203 try { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
204 var body = r.requestBody; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
205 r.return(200, body); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
206 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
207 } catch (e) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
208 r.return(500, e.message); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
209 } |
1001
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
210 } |
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
211 |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
212 function request_body_cache(r) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
213 function t(v) {return Buffer.isBuffer(v) ? 'buffer' : (typeof v);} |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
214 r.return(200, |
1627
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
215 `requestText:\${t(r.requestText)} requestBuffer:\${t(r.requestBuffer)}`); |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
216 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
217 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
218 function send(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
219 var a, s; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
220 r.status = 200; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
221 r.sendHeader(); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
222 for (a in r.args) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
223 if (a.substr(0, 3) == 'foo') { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
224 s = r.args[a]; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
225 r.send('n=' + a + ', v=' + s.substr(0, 2) + ' '); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
226 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
227 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
228 r.finish(); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
229 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
230 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
231 function return_method(r) { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
232 r.return(Number(r.args.c), r.args.t); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
233 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
234 |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
235 function arg_keys(r) { |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
236 r.return(200, Object.keys(r.args).sort()); |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
237 } |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
238 |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
239 function test_type(r) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
240 var p = r.args.path.split('.').reduce((a, v) => a[v], r); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
241 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
242 var type = Buffer.isBuffer(p) ? 'buffer' : (typeof p); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
243 r.return(200, `type: \${type}`); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
244 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
245 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
246 function test_log(r) { |
1607
0411d30859ad
Tests: changed log js test.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1525
diff
changeset
|
247 r.log('SEE-LOG'); |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
248 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
249 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
250 function test_except(r) { |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
251 var fs = require('fs'); |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
252 fs.readFileSync(); |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
253 } |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
254 |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
255 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
256 function content_except(r) { |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
257 JSON.parse({}.a.a); |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
258 } |
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
259 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
260 function content_empty(r) { |
1331
f48d2792730e
Tests: added njs empty js_content handler test.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1315
diff
changeset
|
261 } |
f48d2792730e
Tests: added njs empty js_content handler test.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1315
diff
changeset
|
262 |
993
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
263 EOF |
3ee5ca1ec728
Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
264 |
1627
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
265 $t->try_run('no njs available')->plan(33); |
708 | 266 |
267 ############################################################################### | |
268 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
269 like(http_get('/method'), qr/method=GET/, 'r.method'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
270 like(http_get('/version'), qr/version=1.0/, 'r.httpVersion'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
271 like(http_get('/addr'), qr/addr=127.0.0.1/, 'r.remoteAddress'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
272 like(http_get('/uri'), qr/uri=\/uri/, 'r.uri'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
273 like(http_get('/arg?foO=12345'), qr/arg=12345/, 'r.args'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
274 like(http_get('/iarg?foo=12345&foo2=bar&nn=22&foo-3=z'), qr/12345barz/, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
275 'r.args iteration'); |
1455
558d3d9a000c
Tests: adapted js.t to njs changes.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1440
diff
changeset
|
276 |
558d3d9a000c
Tests: adapted js.t to njs changes.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1440
diff
changeset
|
277 like(http_get('/iarg?foo=123&foo2=&foo3&foo4=456'), qr/123undefined456/, |
558d3d9a000c
Tests: adapted js.t to njs changes.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1440
diff
changeset
|
278 'r.args iteration 2'); |
558d3d9a000c
Tests: adapted js.t to njs changes.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1440
diff
changeset
|
279 like(http_get('/iarg?foo=123&foo2=&foo3'), qr/123/, 'r.args iteration 3'); |
558d3d9a000c
Tests: adapted js.t to njs changes.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1440
diff
changeset
|
280 like(http_get('/iarg?foo=123&foo2='), qr/123/, 'r.args iteration 4'); |
558d3d9a000c
Tests: adapted js.t to njs changes.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1440
diff
changeset
|
281 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
282 like(http_get('/status'), qr/204 No Content/, 'r.status'); |
1438
98facc98bb2e
Tests: adapted js.t to set header changes in njs.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1435
diff
changeset
|
283 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
284 like(http_post('/body'), qr/REQ-BODY/, 'request body'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
285 like(http_post('/in_file'), qr/request body is in a file/, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
286 'request body in file'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
287 like(http_post_big('/body'), qr/200.*^(1234567890){1024}$/ms, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
288 'request body big'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
289 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
290 like(http_get('/send?foo=12345&n=11&foo-2=bar&ndd=&foo-3=z'), |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
291 qr/n=foo, v=12 n=foo-2, v=ba n=foo-3, v=z/, 'r.send'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
292 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
293 like(http_get('/return_method?c=200'), qr/200 OK.*\x0d\x0a?\x0d\x0a?$/s, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
294 'return code'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
295 like(http_get('/return_method?c=200&t=SEE-THIS'), qr/200 OK.*^SEE-THIS$/ms, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
296 'return text'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
297 like(http_get('/return_method?c=301&t=path'), qr/ 301 .*Location: path/s, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
298 'return redirect'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
299 like(http_get('/return_method?c=404'), qr/404 Not.*html/s, 'return error page'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
300 like(http_get('/return_method?c=inv'), qr/ 500 /, 'return invalid'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
301 |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
302 like(http_get('/arg_keys?b=1&c=2&a=5'), qr/a,b,c/m, 'r.args sorted keys'); |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
303 |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
304 TODO: { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
305 local $TODO = 'not yet' |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
306 unless http_get('/njs') =~ /^([.0-9]+)$/m && $1 ge '0.5.0'; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
307 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
308 like(http_get('/type?path=variables.host'), qr/200 OK.*type: string$/s, |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
309 'variables type'); |
1626
a35445ae8de7
Tests: adapted js buffer tests to renaming vars to rawVariables.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1625
diff
changeset
|
310 like(http_get('/type?path=rawVariables.host'), qr/200 OK.*type: buffer$/s, |
a35445ae8de7
Tests: adapted js buffer tests to renaming vars to rawVariables.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1625
diff
changeset
|
311 'rawVariables type'); |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
312 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
313 like(http_post('/type?path=requestBody'), qr/200 OK.*type: string$/s, |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
314 'requestBody type'); |
1627
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
315 like(http_post('/type?path=requestText'), qr/200 OK.*type: string$/s, |
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
316 'requestText type'); |
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
317 like(http_post('/type?path=requestBuffer'), qr/200 OK.*type: buffer$/s, |
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
318 'requestBuffer type'); |
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
319 like(http_post('/request_body_cache'), |
456bf219d768
Tests: adapted js buffer tests to renaming body properties.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1626
diff
changeset
|
320 qr/requestText:string requestBuffer:buffer$/s, 'request body cache'); |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
321 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
322 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
323 |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
324 like(http_get('/var'), qr/variable=127.0.0.1/, 'r.variables'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
325 like(http_get('/global'), qr/global=njs/, 'global code'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
326 like(http_get('/log'), qr/200 OK/, 'r.log'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
327 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
328 http_get('/except'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
329 http_get('/content_except'); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
330 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
331 like(http_get('/content_empty'), qr/500 Internal Server Error/, |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
332 'empty handler'); |
1333
746d9ffdbd26
Tests: fixed empty js_content test committed in f48d2792730e.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1331
diff
changeset
|
333 |
1001
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
334 $t->stop(); |
4a0e1d7cc20b
Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
994
diff
changeset
|
335 |
1607
0411d30859ad
Tests: changed log js test.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1525
diff
changeset
|
336 ok(index($t->read_file('error.log'), 'SEE-LOG') > 0, 'log js'); |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
337 ok(index($t->read_file('error.log'), 'at fs.readFileSync') > 0, |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
338 'js_set backtrace'); |
1247
edf5a3c9e36a
Tests: added tests for js backtraces.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1106
diff
changeset
|
339 ok(index($t->read_file('error.log'), 'at JSON.parse') > 0, |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
340 'js_content backtrace'); |
708 | 341 |
342 ############################################################################### | |
343 | |
344 sub http_get_hdr { | |
345 my ($url, %extra) = @_; | |
346 return http(<<EOF, %extra); | |
347 GET $url HTTP/1.0 | |
348 FoO: 12345 | |
349 | |
350 EOF | |
351 } | |
352 | |
353 sub http_get_ihdr { | |
354 my ($url, %extra) = @_; | |
355 return http(<<EOF, %extra); | |
356 GET $url HTTP/1.0 | |
357 foo: 12345 | |
358 Host: localhost | |
359 foo2: bar | |
360 X-xxx: more | |
361 foo-3: z | |
362 | |
363 EOF | |
364 } | |
365 | |
1435
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
366 sub http_post { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
367 my ($url, %extra) = @_; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
368 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
369 my $p = "POST $url HTTP/1.0" . CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
370 "Host: localhost" . CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
371 "Content-Length: 8" . CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
372 CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
373 "REQ-BODY"; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
374 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
375 return http($p, %extra); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
376 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
377 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
378 sub http_post_big { |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
379 my ($url, %extra) = @_; |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
380 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
381 my $p = "POST $url HTTP/1.0" . CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
382 "Host: localhost" . CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
383 "Content-Length: 10240" . CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
384 CRLF . |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
385 ("1234567890" x 1024); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
386 |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
387 return http($p, %extra); |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
388 } |
cace66c3ce56
Tests: removed js tests for deprecated njs API.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
389 |
708 | 390 ############################################################################### |