Mercurial > hg > nginx-tests
comparison upstream_hash.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 | 38ed3dda3279 |
comparison
equal
deleted
inserted
replaced
973:7d7aef8b9f3a | 974:882267679006 |
---|---|
36 http { | 36 http { |
37 %%TEST_GLOBALS_HTTP%% | 37 %%TEST_GLOBALS_HTTP%% |
38 | 38 |
39 upstream u { | 39 upstream u { |
40 hash $arg_a; | 40 hash $arg_a; |
41 server 127.0.0.1:%%PORT_1%%; | 41 server 127.0.0.1:8081; |
42 server 127.0.0.1:%%PORT_2%%; | 42 server 127.0.0.1:8082; |
43 server 127.0.0.1:%%PORT_3%%; | 43 server 127.0.0.1:8083; |
44 } | 44 } |
45 | 45 |
46 upstream u2 { | 46 upstream u2 { |
47 hash $arg_a; | 47 hash $arg_a; |
48 server 127.0.0.1:%%PORT_1%%; | 48 server 127.0.0.1:8081; |
49 server 127.0.0.1:%%PORT_3%%; | 49 server 127.0.0.1:8083; |
50 } | 50 } |
51 | 51 |
52 upstream cw { | 52 upstream cw { |
53 hash $arg_a consistent; | 53 hash $arg_a consistent; |
54 server 127.0.0.1:%%PORT_1%%; | 54 server 127.0.0.1:8081; |
55 server 127.0.0.1:%%PORT_2%%; | 55 server 127.0.0.1:8082; |
56 server 127.0.0.1:%%PORT_3%% weight=10; | 56 server 127.0.0.1:8083 weight=10; |
57 } | 57 } |
58 | 58 |
59 upstream cw2 { | 59 upstream cw2 { |
60 hash $arg_a consistent; | 60 hash $arg_a consistent; |
61 server 127.0.0.1:%%PORT_1%%; | 61 server 127.0.0.1:8081; |
62 server 127.0.0.1:%%PORT_3%% weight=10; | 62 server 127.0.0.1:8083 weight=10; |
63 } | 63 } |
64 | 64 |
65 upstream c { | 65 upstream c { |
66 hash $arg_a consistent; | 66 hash $arg_a consistent; |
67 server 127.0.0.1:%%PORT_1%%; | 67 server 127.0.0.1:8081; |
68 server 127.0.0.1:%%PORT_2%%; | 68 server 127.0.0.1:8082; |
69 server 127.0.0.1:%%PORT_3%%; | 69 server 127.0.0.1:8083; |
70 } | 70 } |
71 | 71 |
72 upstream c2 { | 72 upstream c2 { |
73 hash $arg_a consistent; | 73 hash $arg_a consistent; |
74 server 127.0.0.1:%%PORT_1%%; | 74 server 127.0.0.1:8081; |
75 server 127.0.0.1:%%PORT_3%%; | 75 server 127.0.0.1:8083; |
76 } | 76 } |
77 | 77 |
78 upstream bad { | 78 upstream bad { |
79 hash $arg_a; | 79 hash $arg_a; |
80 server 127.0.0.1:%%PORT_1%%; | 80 server 127.0.0.1:8081; |
81 server 127.0.0.1:%%PORT_4%%; | 81 server 127.0.0.1:8084; |
82 } | 82 } |
83 | 83 |
84 upstream cbad { | 84 upstream cbad { |
85 hash $arg_a consistent; | 85 hash $arg_a consistent; |
86 server 127.0.0.1:%%PORT_1%%; | 86 server 127.0.0.1:8081; |
87 server 127.0.0.1:%%PORT_4%%; | 87 server 127.0.0.1:8084; |
88 } | 88 } |
89 | 89 |
90 server { | 90 server { |
91 listen 127.0.0.1:%%PORT_0%%; | 91 listen 127.0.0.1:8080; |
92 server_name localhost; | 92 server_name localhost; |
93 | 93 |
94 location / { | 94 location / { |
95 proxy_pass http://u; | 95 proxy_pass http://u; |
96 } | 96 } |
120 proxy_next_upstream http_502; | 120 proxy_next_upstream http_502; |
121 } | 121 } |
122 } | 122 } |
123 | 123 |
124 server { | 124 server { |
125 listen 127.0.0.1:%%PORT_1%%; | 125 listen 127.0.0.1:8081; |
126 listen 127.0.0.1:%%PORT_2%%; | 126 listen 127.0.0.1:8082; |
127 listen 127.0.0.1:%%PORT_3%%; | 127 listen 127.0.0.1:8083; |
128 server_name localhost; | 128 server_name localhost; |
129 | 129 |
130 add_header X-Port $server_port; | 130 add_header X-Port $server_port; |
131 | 131 |
132 location / { | 132 location / { |
133 return 204; | 133 return 204; |
134 } | 134 } |
135 | 135 |
136 location /502 { | 136 location /502 { |
137 if ($server_port = %%PORT_3%%) { | 137 if ($server_port = %%PORT_8083%%) { |
138 return 502; | 138 return 502; |
139 } | 139 } |
140 return 204; | 140 return 204; |
141 } | 141 } |
142 } | 142 } |
143 | 143 |
144 server { | 144 server { |
145 listen 127.0.0.1:%%PORT_4%%; | 145 listen 127.0.0.1:8084; |
146 server_name localhost; | 146 server_name localhost; |
147 return 444; | 147 return 444; |
148 } | 148 } |
149 } | 149 } |
150 | 150 |
152 | 152 |
153 $t->run(); | 153 $t->run(); |
154 | 154 |
155 ############################################################################### | 155 ############################################################################### |
156 | 156 |
157 my ($p1, $p2, $p3) = (port(1), port(2), port(3)); | 157 my ($p1, $p2, $p3) = (port(8081), port(8082), port(8083)); |
158 | 158 |
159 # Only requests for absent peer are moved to other peers if hash is consistent. | 159 # Only requests for absent peer are moved to other peers if hash is consistent. |
160 # Check this by comparing two upstreams with different number of peers. | 160 # Check this by comparing two upstreams with different number of peers. |
161 | 161 |
162 ok(!cmp_peers([iter('/', 20)], [iter('/2', 20)], $p2), 'inconsistent'); | 162 ok(!cmp_peers([iter('/', 20)], [iter('/2', 20)], $p2), 'inconsistent'); |