Mercurial > hg > nginx-tests
comparison geo.t @ 1016:2cf72e8a1a6b
Tests: geo binary base simple tests.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Fri, 26 Aug 2016 16:31:57 +0300 |
parents | 1d205c07ef59 |
children | 1fe8d33f75ad |
comparison
equal
deleted
inserted
replaced
1015:1d205c07ef59 | 1016:2cf72e8a1a6b |
---|---|
155 ranges; | 155 ranges; |
156 default default; | 156 default default; |
157 127.0.0.0-127.0.0.255 test; | 157 127.0.0.0-127.0.0.255 test; |
158 127.0.0.1-127.0.0.255 loopback; | 158 127.0.0.1-127.0.0.255 loopback; |
159 } | 159 } |
160 | |
161 geo $geo_base_create { | |
162 ranges; | |
163 include base.conf; | |
164 } | |
165 | |
166 geo $geo_base_include { | |
167 ranges; | |
168 include base.conf; | |
169 } | |
160 | 170 |
161 server { | 171 server { |
162 listen 127.0.0.1:8080; | 172 listen 127.0.0.1:8080; |
163 server_name localhost; | 173 server_name localhost; |
164 | 174 |
172 add_header X-ABe $geo_before; | 182 add_header X-ABe $geo_before; |
173 add_header X-AAf $geo_after; | 183 add_header X-AAf $geo_after; |
174 add_header X-Ins $geo_insert; | 184 add_header X-Ins $geo_insert; |
175 add_header X-IBe $geo_insert_before; | 185 add_header X-IBe $geo_insert_before; |
176 add_header X-IAf $geo_insert_after; | 186 add_header X-IAf $geo_insert_after; |
187 add_header X-GBc $geo_base_create; | |
188 add_header X-GBi $geo_base_include; | |
177 add_header X-Arg $geo_from_arg; | 189 add_header X-Arg $geo_from_arg; |
178 add_header X-ARa $geo_arg_ranges; | 190 add_header X-ARa $geo_arg_ranges; |
179 add_header X-XFF $geo_proxy; | 191 add_header X-XFF $geo_proxy; |
180 add_header X-XFR $geo_proxy_recursive; | 192 add_header X-XFR $geo_proxy_recursive; |
181 } | 193 } |
191 | 203 |
192 $t->write_file('1', ''); | 204 $t->write_file('1', ''); |
193 $t->write_file('2', ''); | 205 $t->write_file('2', ''); |
194 $t->write_file('geo.conf', '127.0.0.0/8 loopback;'); | 206 $t->write_file('geo.conf', '127.0.0.0/8 loopback;'); |
195 $t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;'); | 207 $t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;'); |
208 $t->write_file('base.conf', join('', map { | |
209 "127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." . $_ % 256 . | |
210 "-127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." .$_ % 256 . " " . | |
211 ($_ == 1 ? "loopback" : "range$_") . ";" } (0 .. 100000))); | |
196 | 212 |
197 $t->run(); | 213 $t->run(); |
198 | 214 |
199 plan(skip_all => 'no 127.0.0.1 on host') | 215 plan(skip_all => 'no 127.0.0.1 on host') |
200 if http_get('/1') !~ /X-IP: 127.0.0.1/m; | 216 if http_get('/1') !~ /X-IP: 127.0.0.1/m; |
201 | 217 |
202 $t->plan(22); | 218 $t->plan(24); |
203 | 219 |
204 ############################################################################### | 220 ############################################################################### |
205 | 221 |
206 my $r = http_get('/1'); | 222 my $r = http_get('/1'); |
207 like($r, qr/^X-Geo: loopback/m, 'geo'); | 223 like($r, qr/^X-Geo: loopback/m, 'geo'); |
222 like($r, qr/^X-ABe: loopback/m, 'geo ranges add before'); | 238 like($r, qr/^X-ABe: loopback/m, 'geo ranges add before'); |
223 like($r, qr/^X-AAf: loopback/m, 'geo ranges add after'); | 239 like($r, qr/^X-AAf: loopback/m, 'geo ranges add after'); |
224 like($r, qr/^X-Ins: loopback/m, 'geo ranges insert'); | 240 like($r, qr/^X-Ins: loopback/m, 'geo ranges insert'); |
225 like($r, qr/^X-IBe: loopback/m, 'geo ranges insert before'); | 241 like($r, qr/^X-IBe: loopback/m, 'geo ranges insert before'); |
226 like($r, qr/^X-IAf: loopback/m, 'geo ranges insert after'); | 242 like($r, qr/^X-IAf: loopback/m, 'geo ranges insert after'); |
243 like($r, qr/^X-GBc: loopback/m, 'geo binary base create'); | |
244 like($r, qr/^X-GBi: loopback/m, 'geo binary base include'); | |
227 | 245 |
228 like(http_get('/1?ip=192.0.2.1'), qr/^X-Arg: test/m, 'geo from variable'); | 246 like(http_get('/1?ip=192.0.2.1'), qr/^X-Arg: test/m, 'geo from variable'); |
229 like(http_get('/1?ip=10.0.0.1'), qr/^X-Arg: default/m, 'geo default'); | 247 like(http_get('/1?ip=10.0.0.1'), qr/^X-Arg: default/m, 'geo default'); |
230 like(http_get('/1?ip=10.0.0.1'), qr/^X-ARa: default/m, 'geo ranges default'); | 248 like(http_get('/1?ip=10.0.0.1'), qr/^X-ARa: default/m, 'geo ranges default'); |
231 like(http_get('/1?ip=10.13.2.1'), qr/^X-ARa: foo2/m, 'geo ranges add'); | 249 like(http_get('/1?ip=10.13.2.1'), qr/^X-ARa: foo2/m, 'geo ranges add'); |