Mercurial > hg > nginx-tests
annotate stream_upstream_zone.t @ 1420:ea593a9bab09
Tests: adjusted read timeout in HTTP/2 request buffering tests.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 19 Dec 2018 12:51:18 +0300 |
parents | 97c8280de681 |
children | 3008cc57b5c9 |
rev | line source |
---|---|
1203
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Stream tests for upstream zone. |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ stream /; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/stream stream_return stream_upstream_zone/) |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 ->plan(2)->write_file_expand('nginx.conf', <<'EOF'); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 events { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 stream { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 log_format test $upstream_addr; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 upstream u { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 zone u 1m; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 server 127.0.0.1:8081; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 upstream u2 { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 zone u; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 server 127.0.0.1:8081 down; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 server 127.0.0.1:8081 backup down; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 server { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 listen 127.0.0.1:8081; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 return OK; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 server { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 listen 127.0.0.1:8091; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 proxy_pass u; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 access_log %%TESTDIR%%/access1.log test; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 server { |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 listen 127.0.0.1:8092; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 proxy_pass u2; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 access_log %%TESTDIR%%/access2.log test; |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
68 } |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
69 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 EOF |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 $t->write_file('index.html', ''); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
73 $t->run(); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
74 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
75 ############################################################################### |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 my $p = port(8081); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
78 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
79 stream('127.0.0.1:' . port(8091)); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
80 stream("127.0.0.1:" . port(8092)); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
81 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
82 $t->stop(); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
83 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
84 is($t->read_file('access1.log'), "127.0.0.1:$p\n", 'upstream name'); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
85 is($t->read_file('access2.log'), "u2\n", 'no live upstreams'); |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
86 |
6f17d67abeb8
Tests: basic stream upstream zone tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
87 ############################################################################### |