Mercurial > hg > nginx-tests
diff geo.t @ 1013:8f92d97cf40e
Tests: geo include tests.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Fri, 26 Aug 2016 16:31:08 +0300 |
parents | a0758fe11465 |
children | 61fbb879446a |
line wrap: on
line diff
--- a/geo.t +++ b/geo.t @@ -1,6 +1,8 @@ #!/usr/bin/perl # (C) Maxim Dounin +# (C) Andrey Zelenkov +# (C) Nginx, Inc. # Tests for nginx geo module. @@ -41,6 +43,12 @@ http { 0.0.0.0/0 world; } + geo $geo_include { + include geo.conf; + 192.0.2.0/24 test; + 0.0.0.0/0 world; + } + geo $arg_ip $geo_from_arg { default default; 127.0.0.0/8 loopback; @@ -69,6 +77,13 @@ http { 192.0.2.0-192.0.2.255 test; } + geo $geo_ranges_include { + ranges; + default default; + include geo-ranges.conf; + 192.0.2.0-192.0.2.255 test; + } + server { listen 127.0.0.1:8080; server_name localhost; @@ -76,7 +91,9 @@ http { location / { add_header X-IP $remote_addr; add_header X-Geo $geo; + add_header X-Inc $geo_include; add_header X-Ran $geo_ranges; + add_header X-RIn $geo_ranges_include; add_header X-Arg $geo_from_arg; add_header X-XFF $geo_proxy; add_header X-XFR $geo_proxy_recursive; @@ -87,18 +104,23 @@ http { EOF $t->write_file('1', ''); +$t->write_file('geo.conf', '127.0.0.0/8 loopback;'); +$t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;'); + $t->run(); plan(skip_all => 'no 127.0.0.1 on host') if http_get('/1') !~ /X-IP: 127.0.0.1/m; -$t->plan(9); +$t->plan(11); ############################################################################### my $r = http_get('/1'); like($r, qr/^X-Geo: loopback/m, 'geo'); +like($r, qr/^X-Inc: loopback/m, 'geo include'); like($r, qr/^X-Ran: loopback/m, 'geo ranges'); +like($r, qr/^X-RIn: loopback/m, 'geo ranges include'); like(http_get('/1?ip=192.0.2.1'), qr/^X-Arg: test/m, 'geo from variable'); like(http_get('/1?ip=10.0.0.1'), qr/^X-Arg: default/m, 'geo default');