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 }