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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ###############################################################################