Mercurial > hg > nginx-tests
comparison stream_limit_conn.t @ 974:882267679006
Tests: simplified parallel modifications in tests.
Mail tests were simplified in c227348453db.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Tue, 12 Jul 2016 17:39:03 +0300 |
parents | e9064d691790 |
children | 196d33c2bb45 |
comparison
equal
deleted
inserted
replaced
973:7d7aef8b9f3a | 974:882267679006 |
---|---|
35 stream { | 35 stream { |
36 limit_conn_zone $binary_remote_addr zone=zone:1m; | 36 limit_conn_zone $binary_remote_addr zone=zone:1m; |
37 limit_conn_zone $binary_remote_addr zone=zone2:1m; | 37 limit_conn_zone $binary_remote_addr zone=zone2:1m; |
38 | 38 |
39 server { | 39 server { |
40 listen 127.0.0.1:%%PORT_0%%; | 40 listen 127.0.0.1:8080; |
41 proxy_pass 127.0.0.1:%%PORT_4%%; | 41 proxy_pass 127.0.0.1:8084; |
42 limit_conn zone 1; | 42 limit_conn zone 1; |
43 } | 43 } |
44 | 44 |
45 server { | 45 server { |
46 listen 127.0.0.1:%%PORT_5%%; | 46 listen 127.0.0.1:8085; |
47 proxy_pass 127.0.0.1:%%PORT_4%%; | 47 proxy_pass 127.0.0.1:8084; |
48 limit_conn zone 5; | 48 limit_conn zone 5; |
49 } | 49 } |
50 | 50 |
51 server { | 51 server { |
52 listen 127.0.0.1:%%PORT_1%%; | 52 listen 127.0.0.1:8081; |
53 proxy_pass 127.0.0.1:%%PORT_4%%; | 53 proxy_pass 127.0.0.1:8084; |
54 limit_conn zone2 1; | 54 limit_conn zone2 1; |
55 } | 55 } |
56 | 56 |
57 server { | 57 server { |
58 listen 127.0.0.1:%%PORT_2%%; | 58 listen 127.0.0.1:8082; |
59 proxy_pass 127.0.0.1:%%PORT_0%%; | 59 proxy_pass 127.0.0.1:8080; |
60 limit_conn zone2 1; | 60 limit_conn zone2 1; |
61 } | 61 } |
62 | 62 |
63 server { | 63 server { |
64 listen 127.0.0.1:%%PORT_3%%; | 64 listen 127.0.0.1:8083; |
65 proxy_pass 127.0.0.1:%%PORT_0%%; | 65 proxy_pass 127.0.0.1:8080; |
66 limit_conn zone 1; | 66 limit_conn zone 1; |
67 } | 67 } |
68 } | 68 } |
69 | 69 |
70 http { | 70 http { |
71 %%TEST_GLOBALS_HTTP%% | 71 %%TEST_GLOBALS_HTTP%% |
72 | 72 |
73 server { | 73 server { |
74 listen 127.0.0.1:%%PORT_4%%; | 74 listen 127.0.0.1:8084; |
75 server_name localhost; | 75 server_name localhost; |
76 | 76 |
77 location / { } | 77 location / { } |
78 } | 78 } |
79 } | 79 } |
94 EOF | 94 EOF |
95 | 95 |
96 ok($s, 'long connection'); | 96 ok($s, 'long connection'); |
97 | 97 |
98 is(get(), undef, 'rejected same zone'); | 98 is(get(), undef, 'rejected same zone'); |
99 like(get('127.0.0.1:' . port(1)), qr/200 OK/, 'passed different zone'); | 99 like(get('127.0.0.1:' . port(8081)), qr/200 OK/, 'passed different zone'); |
100 like(get('127.0.0.1:' . port(5)), qr/200 OK/, 'passed same zone unlimited'); | 100 like(get('127.0.0.1:' . port(8085)), qr/200 OK/, 'passed same zone unlimited'); |
101 | 101 |
102 ok(http(<<EOF, socket => $s), 'long connection closed'); | 102 ok(http(<<EOF, socket => $s), 'long connection closed'); |
103 Host: localhost | 103 Host: localhost |
104 | 104 |
105 EOF | 105 EOF |
106 | 106 |
107 # zones proxy chain | 107 # zones proxy chain |
108 | 108 |
109 like(get('127.0.0.1:' . port(2)), qr/200 OK/, 'passed proxy'); | 109 like(get('127.0.0.1:' . port(8082)), qr/200 OK/, 'passed proxy'); |
110 is(get('127.0.0.1:' . port(3)), undef, 'rejected proxy'); | 110 is(get('127.0.0.1:' . port(8083)), undef, 'rejected proxy'); |
111 | 111 |
112 ############################################################################### | 112 ############################################################################### |
113 | 113 |
114 sub get { | 114 sub get { |
115 my $peer = shift; | 115 my $peer = shift; |
124 | 124 |
125 sub getconn { | 125 sub getconn { |
126 my $peer = shift; | 126 my $peer = shift; |
127 my $s = IO::Socket::INET->new( | 127 my $s = IO::Socket::INET->new( |
128 Proto => 'tcp', | 128 Proto => 'tcp', |
129 PeerAddr => $peer || '127.0.0.1:' . port(0) | 129 PeerAddr => $peer || '127.0.0.1:' . port(8080) |
130 ) | 130 ) |
131 or die "Can't connect to nginx: $!\n"; | 131 or die "Can't connect to nginx: $!\n"; |
132 | 132 |
133 return $s; | 133 return $s; |
134 } | 134 } |