Mercurial > hg > nginx-tests
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'); |