comparison stream_js.t @ 1643:cd35d4f44937

Tests: fixed typo in stream_js.t introduced in fd7766ab0a69. In addition, tests were added to catch proper exit status.
author Dmitry Volyntsev <xeioex@nginx.com>
date Wed, 03 Feb 2021 12:20:37 +0000
parents f3ba4c74de31
children 9e0347f4df11
comparison
equal deleted inserted replaced
1642:43f31fe62dfd 1643:cd35d4f44937
68 js_set $js_req_line js_req_line; 68 js_set $js_req_line js_req_line;
69 js_set $js_sess_unk js_sess_unk; 69 js_set $js_sess_unk js_sess_unk;
70 70
71 js_include test.js; 71 js_include test.js;
72 72
73 log_format status $server_port:$status;
74
73 server { 75 server {
74 listen 127.0.0.1:8080; 76 listen 127.0.0.1:8080;
75 return $js_addr; 77 return $js_addr;
76 } 78 }
77 79
110 112
111 server { 113 server {
112 listen 127.0.0.1:8087; 114 listen 127.0.0.1:8087;
113 js_access js_access_undecided; 115 js_access js_access_undecided;
114 return OK; 116 return OK;
117 access_log %%TESTDIR%%/status.log status;
115 } 118 }
116 119
117 server { 120 server {
118 listen 127.0.0.1:8088; 121 listen 127.0.0.1:8088;
119 js_access js_access_allow; 122 js_access js_access_allow;
120 return OK; 123 return OK;
124 access_log %%TESTDIR%%/status.log status;
121 } 125 }
122 126
123 server { 127 server {
124 listen 127.0.0.1:8089; 128 listen 127.0.0.1:8089;
125 js_access js_access_deny; 129 js_access js_access_deny;
126 return OK; 130 return OK;
131 access_log %%TESTDIR%%/status.log status;
127 } 132 }
128 133
129 server { 134 server {
130 listen 127.0.0.1:8091; 135 listen 127.0.0.1:8091;
131 js_preread js_preread_async; 136 js_preread js_preread_async;
253 if (s.remoteAddress.match('127.0.0.1')) { 258 if (s.remoteAddress.match('127.0.0.1')) {
254 s.done(); 259 s.done();
255 return; 260 return;
256 } 261 }
257 262
258 s.abort(); 263 s.deny();
259 } 264 }
260 265
261 function js_access_deny(s) { 266 function js_access_deny(s) {
262 if (s.remoteAddress.match('127.0.0.1')) { 267 if (s.remoteAddress.match('127.0.0.1')) {
263 s.abort(); 268 s.deny();
264 return; 269 return;
265 } 270 }
266 271
267 s.allow(); 272 s.allow();
268 } 273 }
352 } 357 }
353 358
354 EOF 359 EOF
355 360
356 $t->run_daemon(\&stream_daemon, port(8090)); 361 $t->run_daemon(\&stream_daemon, port(8090));
357 $t->try_run('no stream njs available')->plan(19); 362 $t->try_run('no stream njs available')->plan(22);
358 $t->waitforsocket('127.0.0.1:' . port(8090)); 363 $t->waitforsocket('127.0.0.1:' . port(8090));
359 364
360 ############################################################################### 365 ###############################################################################
361 366
362 is(stream('127.0.0.1:' . port(8080))->read(), 'addr=127.0.0.1', 367 is(stream('127.0.0.1:' . port(8080))->read(), 'addr=127.0.0.1',
393 ok(index($t->read_file('error.log'), 'at fs.readFileSync') > 0, 398 ok(index($t->read_file('error.log'), 'at fs.readFileSync') > 0,
394 'stream js_preread backtrace'); 399 'stream js_preread backtrace');
395 ok(index($t->read_file('error.log'), 'at js_filter_except') > 0, 400 ok(index($t->read_file('error.log'), 'at js_filter_except') > 0,
396 'stream js_filter backtrace'); 401 'stream js_filter backtrace');
397 402
403 my @p = (port(8087), port(8088), port(8089));
404 like($t->read_file('status.log'), qr/$p[0]:200/, 'status undecided');
405 like($t->read_file('status.log'), qr/$p[1]:200/, 'status allow');
406 like($t->read_file('status.log'), qr/$p[2]:403/, 'status deny');
407
398 ############################################################################### 408 ###############################################################################
399 409
400 sub stream_daemon { 410 sub stream_daemon {
401 my $server = IO::Socket::INET->new( 411 my $server = IO::Socket::INET->new(
402 Proto => 'tcp', 412 Proto => 'tcp',