annotate stream_geo.t @ 1328:a682c219af45

Tests: updated ssl_engine_keys.t test. After merge with libp11, pkcs11 engine shared object was renamed from "engine_pkcs11.so" to "pkcs11.so". Changed configuration accordingly. Additionally, changed "init" to "1" in the engine configuration. This keeps pkcs11 engine loaded and prevents segmentation faults observed during nginx shutdown. While here, restored correct order of ssl_certificate and ssl_certificate_key.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 22 May 2018 17:46:59 +0300
parents 766bcbb632ee
children f3ba4c74de31
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ###############################################################################