Mercurial > hg > nginx-tests
annotate stream_geo.t @ 1569:cd6abbe0f989
Tests: added generic tests for $arg_ variables.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 08 May 2020 19:45:18 +0300 |
parents | 766bcbb632ee |
children | f3ba4c74de31 |
rev | line source |
---|---|
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Sergey Kandaurov |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
5 # (C) Andrey Zelenkov |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # (C) Nginx, Inc. |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 # Tests for stream geo module. |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 ############################################################################### |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 use warnings; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use strict; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 use Test::More; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 BEGIN { use FindBin; chdir($FindBin::Bin); } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use lib 'lib'; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 use Test::Nginx; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 use Test::Nginx::Stream qw/ stream /; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 ############################################################################### |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 select STDERR; $| = 1; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 select STDOUT; $| = 1; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 my $t = Test::Nginx->new()->has(qw/stream stream_return stream_map stream_geo/); |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 $t->write_file_expand('nginx.conf', <<'EOF'); |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 %%TEST_GLOBALS%% |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 daemon off; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 events { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 stream { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 geo $geo { |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
41 127.0.0.0/8 loopback; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
42 192.0.2.0/24 test; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
43 0.0.0.0/0 world; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
46 geo $geo_include { |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
47 include geo.conf; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
48 192.0.2.0/24 test; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
49 0.0.0.0/0 world; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
50 } |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
51 |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
52 geo $geo_delete { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
53 127.0.0.0/8 loopback; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
54 192.0.2.0/24 test; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
55 0.0.0.0/0 world; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
56 delete 127.0.0.0/8; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
57 } |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
58 |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 geo $remote_addr $geo_from_addr { |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
60 127.0.0.0/8 loopback; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
61 192.0.2.0/24 test; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 map $server_port $var { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 %%PORT_8080%% "192.0.2.1"; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 %%PORT_8081%% "10.0.0.1"; |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
67 %%PORT_8085%% "10.11.2.1"; |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
68 %%PORT_8086%% "loopback"; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
69 %%PORT_8087%% "10.13.2.1"; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 geo $var $geo_from_var { |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
73 default default; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
74 127.0.0.0/8 loopback; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
75 192.0.2.0/24 test; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
78 geo $var $geo_var_ranges { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
79 ranges; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
80 default default; |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
81 127.0.0.0-127.0.0.1 loopback; |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
82 |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
83 # ranges with two /16 networks |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
84 # the latter network has greater two least octets |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
85 # (see 1301a58b5dac for details) |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
86 10.10.3.0-10.11.2.255 foo; |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
87 10.12.3.0-10.13.2.255 foo2; |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
88 delete 10.10.3.0-10.11.2.255; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
89 } |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
90 |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
91 geo $var $geo_world { |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
92 127.0.0.0/8 loopback; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
93 192.0.2.0/24 test; |
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
94 0.0.0.0/0 world; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
95 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
96 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
97 geo $geo_ranges { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
98 ranges; |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
99 default default; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
100 127.0.0.0-127.255.255.255 loopback; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
101 192.0.2.0-192.0.2.255 test; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
102 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
103 |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
104 geo $geo_ranges_include { |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
105 ranges; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
106 default default; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
107 include geo-ranges.conf; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
108 192.0.2.0-192.0.2.255 test; |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
109 } |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
110 |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
111 geo $geo_ranges_delete { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
112 ranges; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
113 default default; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
114 127.0.0.0-127.0.0.255 test; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
115 127.0.0.1-127.0.0.1 loopback; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
116 delete 127.0.0.0-127.0.0.0; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
117 delete 127.0.0.2-127.0.0.255; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
118 delete 127.0.0.1-127.0.0.1; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
119 } |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
120 |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
121 # delete range with two /16 |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
122 geo $geo_ranges_delete_2 { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
123 ranges; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
124 default default; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
125 127.0.0.0-127.1.0.0 loopback; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
126 delete 127.0.0.0-127.1.0.0; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
127 } |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
128 |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
129 geo $geo_before { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
130 ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
131 default default; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
132 127.0.0.1-127.0.0.255 loopback; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
133 127.0.0.0-127.0.0.0 test; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
134 } |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
135 |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
136 geo $geo_after { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
137 ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
138 default default; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
139 127.0.0.0-127.0.0.1 loopback; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
140 127.0.0.2-127.0.0.255 test; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
141 } |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
142 |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
143 geo $geo_insert { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
144 ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
145 default default; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
146 127.0.0.0-127.0.0.255 test; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
147 127.0.0.1-127.0.0.2 test2; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
148 127.0.0.1-127.0.0.1 loopback; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
149 } |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
150 |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
151 geo $geo_insert_before { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
152 ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
153 default default; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
154 127.0.0.0-127.0.0.255 test; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
155 127.0.0.0-127.0.0.1 loopback; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
156 } |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
157 |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
158 geo $geo_insert_after { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
159 ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
160 default default; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
161 127.0.0.0-127.0.0.255 test; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
162 127.0.0.1-127.0.0.255 loopback; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
163 } |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
164 |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
165 server { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
166 listen 127.0.0.1:8080; |
1011
9b87810c75ca
Tests: simplified variables parsing in stream_geo.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
978
diff
changeset
|
167 return "geo:$geo |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
168 geo_include:$geo_include |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
169 geo_delete:$geo_delete |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
170 geo_ranges:$geo_ranges |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
171 geo_ranges_include:$geo_ranges_include |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
172 geo_before:$geo_before |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
173 geo_after:$geo_after |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
174 geo_insert:$geo_insert |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
175 geo_insert_before:$geo_insert_before |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
176 geo_insert_after:$geo_insert_after |
1011
9b87810c75ca
Tests: simplified variables parsing in stream_geo.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
978
diff
changeset
|
177 geo_from_addr:$geo_from_addr |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
178 geo_from_var:$geo_from_var"; |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
179 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
180 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
181 server { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
182 listen 127.0.0.1:8081; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
183 return $geo_from_var; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
184 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
185 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
186 server { |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
187 listen 127.0.0.1:8082; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
188 return $geo_world; |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
189 } |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
190 |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
191 server { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
192 listen 127.0.0.1:8083; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
193 return $geo_ranges_delete; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
194 } |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
195 |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
196 server { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
197 listen 127.0.0.1:8084; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
198 return $geo_ranges_delete_2; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
199 } |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
200 |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
201 server { |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
202 listen 127.0.0.1:8085; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
203 return $geo_var_ranges; |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
204 } |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
205 |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
206 server { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
207 listen 127.0.0.1:8086; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
208 return $geo_var_ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
209 } |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
210 |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
211 server { |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
212 listen 127.0.0.1:8087; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
213 return $geo_var_ranges; |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
214 } |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
215 } |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
216 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
217 EOF |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
218 |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
219 $t->write_file('geo.conf', '127.0.0.0/8 loopback;'); |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
220 $t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;'); |
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
221 |
1251
766bcbb632ee
Tests: removed TODO and try_run() checks for legacy versions.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1235
diff
changeset
|
222 $t->run()->plan(19); |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
223 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
224 ############################################################################### |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
225 |
1235
3fc6817cd84a
Tests: explicit peer port in stream tests now required.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1044
diff
changeset
|
226 my %data = stream('127.0.0.1:' . port(8080))->read() =~ /(\w+):(\w+)/g; |
1011
9b87810c75ca
Tests: simplified variables parsing in stream_geo.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
978
diff
changeset
|
227 is($data{geo}, 'loopback', 'geo'); |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
228 is($data{geo_include}, 'loopback', 'geo include'); |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
229 is($data{geo_delete}, 'world', 'geo delete'); |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
230 is($data{geo_ranges}, 'loopback', 'geo ranges'); |
1013
8f92d97cf40e
Tests: geo include tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1012
diff
changeset
|
231 is($data{geo_ranges_include}, 'loopback', 'geo ranges include'); |
1012
a0758fe11465
Tests: style and rearrangements in geo tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1011
diff
changeset
|
232 |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
233 is(stream('127.0.0.1:' . port(8083))->read(), 'default', 'geo ranges delete'); |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
234 is(stream('127.0.0.1:' . port(8084))->read(), 'default', 'geo ranges delete 2'); |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
235 |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
236 is($data{geo_before}, 'loopback', 'geo ranges add before'); |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
237 is($data{geo_after}, 'loopback', 'geo ranges add after'); |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
238 is($data{geo_insert}, 'loopback', 'geo ranges insert'); |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
239 is($data{geo_insert_before}, 'loopback', 'geo ranges insert before'); |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
240 is($data{geo_insert_after}, 'loopback', 'geo ranges insert after'); |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
241 |
1011
9b87810c75ca
Tests: simplified variables parsing in stream_geo.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
978
diff
changeset
|
242 is($data{geo_from_addr}, 'loopback', 'geo from addr'); |
9b87810c75ca
Tests: simplified variables parsing in stream_geo.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
978
diff
changeset
|
243 is($data{geo_from_var}, 'test', 'geo from var'); |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
244 |
1014
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
245 is(stream('127.0.0.1:' . port(8085))->read(), 'default', |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
246 'geo delete range from variable'); |
61fbb879446a
Tests: geo delete tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1013
diff
changeset
|
247 |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
248 is(stream('127.0.0.1:' . port(8081))->read(), 'default', 'geo default'); |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
249 is(stream('127.0.0.1:' . port(8082))->read(), 'world', 'geo world'); |
1015
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
250 is(stream('127.0.0.1:' . port(8086))->read(), 'default', 'geo ranges default'); |
1d205c07ef59
Tests: more geo ranges tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
1014
diff
changeset
|
251 is(stream('127.0.0.1:' . port(8087))->read(), 'foo2', 'geo ranges add'); |
978
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
252 |
04cb1849005a
Tests: basic tests for stream geo module.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
253 ############################################################################### |