# HG changeset patch # User Andrey Zelenkov # Date 1472218317 -10800 # Node ID 2cf72e8a1a6bac38bb57f04b66b6bbdf2820127a # Parent 1d205c07ef59db883bbd10ad10cf96d45954d592 Tests: geo binary base simple tests. diff --git a/geo.t b/geo.t --- a/geo.t +++ b/geo.t @@ -158,6 +158,16 @@ http { 127.0.0.1-127.0.0.255 loopback; } + geo $geo_base_create { + ranges; + include base.conf; + } + + geo $geo_base_include { + ranges; + include base.conf; + } + server { listen 127.0.0.1:8080; server_name localhost; @@ -174,6 +184,8 @@ http { add_header X-Ins $geo_insert; add_header X-IBe $geo_insert_before; add_header X-IAf $geo_insert_after; + add_header X-GBc $geo_base_create; + add_header X-GBi $geo_base_include; add_header X-Arg $geo_from_arg; add_header X-ARa $geo_arg_ranges; add_header X-XFF $geo_proxy; @@ -193,13 +205,17 @@ EOF $t->write_file('2', ''); $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->write_file('base.conf', join('', map { + "127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." . $_ % 256 . + "-127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." .$_ % 256 . " " . + ($_ == 1 ? "loopback" : "range$_") . ";" } (0 .. 100000))); $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(22); +$t->plan(24); ############################################################################### @@ -224,6 +240,8 @@ like($r, qr/^X-AAf: loopback/m, 'geo ran 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($r, qr/^X-GBc: loopback/m, 'geo binary base create'); +like($r, qr/^X-GBi: loopback/m, 'geo binary base 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'); diff --git a/stream_geo.t b/stream_geo.t --- a/stream_geo.t +++ b/stream_geo.t @@ -162,6 +162,16 @@ stream { 127.0.0.1-127.0.0.255 loopback; } + geo $geo_base_create { + ranges; + include base.conf; + } + + geo $geo_base_include { + ranges; + include base.conf; + } + server { listen 127.0.0.1:8080; return "geo:$geo @@ -174,6 +184,8 @@ stream { geo_insert:$geo_insert geo_insert_before:$geo_insert_before geo_insert_after:$geo_insert_after + geo_base_create:$geo_base_create + geo_base_include:$geo_base_include geo_from_addr:$geo_from_addr geo_from_var:$geo_from_var"; } @@ -218,8 +230,12 @@ EOF $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->write_file('base.conf', join('', map { + "127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." . $_ % 256 . + "-127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." .$_ % 256 . " " . + ($_ == 1 ? "loopback" : "range$_") . ";" } (0 .. 100000))); -$t->try_run('no stream geo')->plan(19); +$t->try_run('no stream geo')->plan(21); ############################################################################### @@ -244,6 +260,8 @@ is($data{geo_after}, 'loopback', 'geo ra is($data{geo_insert}, 'loopback', 'geo ranges insert'); is($data{geo_insert_before}, 'loopback', 'geo ranges insert before'); is($data{geo_insert_after}, 'loopback', 'geo ranges insert after'); +is($data{geo_base_create}, 'loopback', 'geo binary base create'); +is($data{geo_base_include}, 'loopback', 'geo binary base include'); is($data{geo_from_addr}, 'loopback', 'geo from addr'); is($data{geo_from_var}, 'test', 'geo from var');