comparison stream_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
comparison
equal deleted inserted replaced
1012:a0758fe11465 1013:8f92d97cf40e
1 #!/usr/bin/perl 1 #!/usr/bin/perl
2 2
3 # (C) Maxim Dounin 3 # (C) Maxim Dounin
4 # (C) Sergey Kandaurov 4 # (C) Sergey Kandaurov
5 # (C) Andrey Zelenkov
5 # (C) Nginx, Inc. 6 # (C) Nginx, Inc.
6 7
7 # Tests for stream geo module. 8 # Tests for stream geo module.
8 9
9 ############################################################################### 10 ###############################################################################
40 127.0.0.0/8 loopback; 41 127.0.0.0/8 loopback;
41 192.0.2.0/24 test; 42 192.0.2.0/24 test;
42 0.0.0.0/0 world; 43 0.0.0.0/0 world;
43 } 44 }
44 45
46 geo $geo_include {
47 include geo.conf;
48 192.0.2.0/24 test;
49 0.0.0.0/0 world;
50 }
51
45 geo $remote_addr $geo_from_addr { 52 geo $remote_addr $geo_from_addr {
46 127.0.0.0/8 loopback; 53 127.0.0.0/8 loopback;
47 192.0.2.0/24 test; 54 192.0.2.0/24 test;
48 } 55 }
49 56
69 default default; 76 default default;
70 127.0.0.0-127.255.255.255 loopback; 77 127.0.0.0-127.255.255.255 loopback;
71 192.0.2.0-192.0.2.255 test; 78 192.0.2.0-192.0.2.255 test;
72 } 79 }
73 80
81 geo $geo_ranges_include {
82 ranges;
83 default default;
84 include geo-ranges.conf;
85 192.0.2.0-192.0.2.255 test;
86 }
87
74 server { 88 server {
75 listen 127.0.0.1:8080; 89 listen 127.0.0.1:8080;
76 return "geo:$geo 90 return "geo:$geo
91 geo_include:$geo_include
77 geo_ranges:$geo_ranges 92 geo_ranges:$geo_ranges
93 geo_ranges_include:$geo_ranges_include
78 geo_from_addr:$geo_from_addr 94 geo_from_addr:$geo_from_addr
79 geo_from_var:$geo_from_var"; 95 geo_from_var:$geo_from_var";
80 } 96 }
81 97
82 server { 98 server {
90 } 106 }
91 } 107 }
92 108
93 EOF 109 EOF
94 110
95 $t->try_run('no stream geo')->plan(6); 111 $t->write_file('geo.conf', '127.0.0.0/8 loopback;');
112 $t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;');
113
114 $t->try_run('no stream geo')->plan(8);
96 115
97 ############################################################################### 116 ###############################################################################
98 117
99 my %data = stream()->read() =~ /(\w+):(\w+)/g; 118 my %data = stream()->read() =~ /(\w+):(\w+)/g;
100 is($data{geo}, 'loopback', 'geo'); 119 is($data{geo}, 'loopback', 'geo');
120 is($data{geo_include}, 'loopback', 'geo include');
101 is($data{geo_ranges}, 'loopback', 'geo ranges'); 121 is($data{geo_ranges}, 'loopback', 'geo ranges');
122 is($data{geo_ranges_include}, 'loopback', 'geo ranges include');
102 123
103 is($data{geo_from_addr}, 'loopback', 'geo from addr'); 124 is($data{geo_from_addr}, 'loopback', 'geo from addr');
104 is($data{geo_from_var}, 'test', 'geo from var'); 125 is($data{geo_from_var}, 'test', 'geo from var');
105 126
106 is(stream('127.0.0.1:' . port(8081))->read(), 'default', 'geo default'); 127 is(stream('127.0.0.1:' . port(8081))->read(), 'default', 'geo default');