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');