Mercurial > hg > nginx-tests
annotate stream_status_variable.t @ 1248:70192b1baf01
Tests: added exception test to stream_js.t using 'require'.
The stream js tests introduced in edf5a3c9e36a fail on njs 0.1.14. It doesn't
currently provide an easy way to check its version, whilst we are obligated to
gracefully handle such cases somehow. With such an addition of 'require', now
the tests are skipped instead on the previous versions.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 21 Nov 2017 13:16:39 +0300 |
parents | 5ceb07e20515 |
children | 766bcbb632ee |
rev | line source |
---|---|
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Tests for stream status variable. |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ stream /; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/stream stream_return stream_access/) |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 ->has(qw/stream_limit_conn/); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 $t->write_file_expand('nginx.conf', <<'EOF'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 %%TEST_GLOBALS%% |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 daemon off; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 events { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 stream { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 log_format status $status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 limit_conn_zone $binary_remote_addr zone=zone:1m; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 listen 127.0.0.1:8080; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 return SEE-THIS; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 access_log %%TESTDIR%%/200.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 listen 127.0.0.1:8081; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 return SEE-THIS; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 deny all; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 access_log %%TESTDIR%%/403.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 listen 127.0.0.1:8082; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 proxy_pass 127.0.0.1:8083; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 access_log %%TESTDIR%%/502.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 proxy_connect_timeout 0; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 listen 127.0.0.1:8084; |
1222
75a83f36cff0
Tests: made all tests in stream_status_variable.t work on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1025
diff
changeset
|
66 proxy_pass example.com:$remote_port; |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 access_log %%TESTDIR%%/500.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
68 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
69 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 listen 127.0.0.1:8085; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 limit_conn zone 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
73 proxy_pass 127.0.0.1:8086; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
74 access_log %%TESTDIR%%/503.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
75 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 server { |
1228
31045e639732
Tests: fixed stream_status_variable.t transient failure on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1222
diff
changeset
|
78 listen 127.0.0.1:8086 proxy_protocol; |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
79 return SEE-THIS; |
1229
6979619de0e3
Tests: added stream $status test with invalid PROXY header.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1228
diff
changeset
|
80 access_log %%TESTDIR%%/400.log status; |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
81 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
82 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
83 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
84 EOF |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
85 |
1229
6979619de0e3
Tests: added stream $status test with invalid PROXY header.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1228
diff
changeset
|
86 $t->try_run('no stream access_log')->plan(6); |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
87 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
88 ############################################################################### |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
89 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
90 stream('127.0.0.1:' . port(8080))->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
91 stream('127.0.0.1:' . port(8081))->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
92 stream('127.0.0.1:' . port(8082))->read(); |
1222
75a83f36cff0
Tests: made all tests in stream_status_variable.t work on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1025
diff
changeset
|
93 stream('127.0.0.1:' . port(8084))->read(); |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
94 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
95 my $s = stream('127.0.0.1:' . port(8085)); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
96 stream('127.0.0.1:' . port(8085))->read(); |
1231
5ceb07e20515
Tests: fixed race in stream_status_variable.t on exit.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1229
diff
changeset
|
97 $s->io('PROXY INVALID'); |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
98 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
99 $t->stop(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
100 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
101 is($t->read_file('200.log'), "200\n", 'stream status 200'); |
1229
6979619de0e3
Tests: added stream $status test with invalid PROXY header.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1228
diff
changeset
|
102 is($t->read_file('400.log'), "400\n", 'stream status 400'); |
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
103 is($t->read_file('403.log'), "403\n", 'stream status 403'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
104 is($t->read_file('500.log'), "500\n", 'stream status 500'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
105 is($t->read_file('502.log'), "502\n", 'stream status 502'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
106 is($t->read_file('503.log'), "503\n200\n", 'stream status 503'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
107 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
108 ############################################################################### |