diff geo.t @ 1015:1d205c07ef59

Tests: more geo ranges tests.
author Andrey Zelenkov <zelenkov@nginx.com>
date Fri, 26 Aug 2016 16:31:44 +0300
parents 61fbb879446a
children 2cf72e8a1a6b
line wrap: on
line diff
--- a/geo.t
+++ b/geo.t
@@ -65,11 +65,13 @@ http {
     geo $arg_ip $geo_arg_ranges {
         ranges;
         default                default;
+        127.0.0.0-127.0.0.1    loopback;
 
         # ranges with two /16 networks
         # the latter network has greater two least octets
         # (see 1301a58b5dac for details)
         10.10.3.0-10.11.2.255  foo;
+        10.12.3.0-10.13.2.255  foo2;
         delete                 10.10.3.0-10.11.2.255;
     }
 
@@ -120,6 +122,42 @@ http {
         delete               127.0.0.0-127.1.0.0;
     }
 
+    geo $geo_before {
+        ranges;
+        default                default;
+        127.0.0.1-127.0.0.255  loopback;
+        127.0.0.0-127.0.0.0    test;
+    }
+
+    geo $geo_after {
+        ranges;
+        default                default;
+        127.0.0.0-127.0.0.1    loopback;
+        127.0.0.2-127.0.0.255  test;
+    }
+
+    geo $geo_insert {
+        ranges;
+        default                default;
+        127.0.0.0-127.0.0.255  test;
+        127.0.0.1-127.0.0.2    test2;
+        127.0.0.1-127.0.0.1    loopback;
+    }
+
+    geo $geo_insert_before {
+        ranges;
+        default                default;
+        127.0.0.0-127.0.0.255  test;
+        127.0.0.0-127.0.0.1    loopback;
+    }
+
+    geo $geo_insert_after {
+        ranges;
+        default                default;
+        127.0.0.0-127.0.0.255  test;
+        127.0.0.1-127.0.0.255  loopback;
+     }
+
     server {
         listen       127.0.0.1:8080;
         server_name  localhost;
@@ -131,6 +169,11 @@ http {
             add_header X-Del  $geo_delete;
             add_header X-Ran  $geo_ranges;
             add_header X-RIn  $geo_ranges_include;
+            add_header X-ABe  $geo_before;
+            add_header X-AAf  $geo_after;
+            add_header X-Ins  $geo_insert;
+            add_header X-IBe  $geo_insert_before;
+            add_header X-IAf  $geo_insert_after;
             add_header X-Arg  $geo_from_arg;
             add_header X-ARa  $geo_arg_ranges;
             add_header X-XFF  $geo_proxy;
@@ -156,7 +199,7 @@ EOF
 plan(skip_all => 'no 127.0.0.1 on host')
 	if http_get('/1') !~ /X-IP: 127.0.0.1/m;
 
-$t->plan(15);
+$t->plan(22);
 
 ###############################################################################
 
@@ -176,8 +219,16 @@ like(http_get('/2'), qr/^X-RD2: default/
 
 }
 
+like($r, qr/^X-ABe: loopback/m, 'geo ranges add before');
+like($r, qr/^X-AAf: loopback/m, 'geo ranges add after');
+like($r, qr/^X-Ins: loopback/m, 'geo ranges insert');
+like($r, qr/^X-IBe: loopback/m, 'geo ranges insert before');
+like($r, qr/^X-IAf: loopback/m, 'geo ranges insert after');
+
 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');
+like(http_get('/1?ip=10.0.0.1'), qr/^X-ARa: default/m, 'geo ranges default');
+like(http_get('/1?ip=10.13.2.1'), qr/^X-ARa: foo2/m, 'geo ranges add');
 
 TODO: {
 todo_skip 'use-after-free', 1 unless $ENV{TEST_NGINX_UNSAFE}