Mercurial > hg > nginx-tests
comparison referer.t @ 325:ba212f244288
Tests: more referer tests.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 26 Aug 2013 15:51:00 +0400 |
parents | 61071d7d28c9 |
children | dacd55fa2cde |
comparison
equal
deleted
inserted
replaced
324:61071d7d28c9 | 325:ba212f244288 |
---|---|
19 ############################################################################### | 19 ############################################################################### |
20 | 20 |
21 select STDERR; $| = 1; | 21 select STDERR; $| = 1; |
22 select STDOUT; $| = 1; | 22 select STDOUT; $| = 1; |
23 | 23 |
24 my $t = Test::Nginx->new()->has(qw/http referer rewrite/)->plan(49); | 24 my $t = Test::Nginx->new()->has(qw/http referer rewrite/)->plan(51); |
25 | 25 |
26 $t->write_file_expand('nginx.conf', <<'EOF'); | 26 $t->write_file_expand('nginx.conf', <<'EOF'); |
27 | 27 |
28 %%TEST_GLOBALS%% | 28 %%TEST_GLOBALS%% |
29 | 29 |
54 server_name below; | 54 server_name below; |
55 } | 55 } |
56 | 56 |
57 server { | 57 server { |
58 listen 127.0.0.1:8080; | 58 listen 127.0.0.1:8080; |
59 server_name localhost ~bar; | 59 server_name localhost ~bar ~^anchoredre$; |
60 | 60 |
61 location /blocked { | 61 location /blocked { |
62 valid_referers blocked www.example.org; | 62 valid_referers blocked www.example.org; |
63 return 200 "value $invalid_referer"; | 63 return 200 "value $invalid_referer"; |
64 } | 64 } |
69 location /simple { | 69 location /simple { |
70 valid_referers www.example.org; | 70 valid_referers www.example.org; |
71 return 200 "value $invalid_referer"; | 71 return 200 "value $invalid_referer"; |
72 } | 72 } |
73 location /regex { | 73 location /regex { |
74 valid_referers ~example.org; | 74 valid_referers ~example.org ~(?-i)example.net; |
75 return 200 "value $invalid_referer"; | 75 return 200 "value $invalid_referer"; |
76 } | 76 } |
77 location /regex2 { | 77 location /regex2 { |
78 valid_referers ~example.org/uri; | 78 valid_referers ~example.org/uri; |
79 return 200 "value $invalid_referer"; | 79 return 200 "value $invalid_referer"; |
141 | 141 |
142 ok(valid('/regex', 'http://www.example.org'), 'regex'); | 142 ok(valid('/regex', 'http://www.example.org'), 'regex'); |
143 ok(valid('/regex', 'http://www.eXample.org'), 'regex caseless'); | 143 ok(valid('/regex', 'http://www.eXample.org'), 'regex caseless'); |
144 ok(valid('/regex', 'http://www.example.org/uri'), 'regex uri'); | 144 ok(valid('/regex', 'http://www.example.org/uri'), 'regex uri'); |
145 ok(!valid('/regex', 'http://www.example.com'), 'regex mismatch'); | 145 ok(!valid('/regex', 'http://www.example.com'), 'regex mismatch'); |
146 ok(!valid('/regex', 'http://www.eXample.net'), 'regex case mismatch'); | |
146 | 147 |
147 ok(valid('/regex2', 'http://www.example.org/uri'), 'regex 2 uri'); | 148 ok(valid('/regex2', 'http://www.example.org/uri'), 'regex 2 uri'); |
148 ok(!valid('/regex2', 'http://www.example.org'), 'regex 2 no uri'); | 149 ok(!valid('/regex2', 'http://www.example.org'), 'regex 2 no uri'); |
149 ok(valid('/regex2', 'http://www.example.org/uRI'), 'regex 2 uri caseless'); | 150 ok(valid('/regex2', 'http://www.example.org/uRI'), 'regex 2 uri caseless'); |
150 | 151 |
163 TODO: { | 164 TODO: { |
164 local $TODO = 'not yet'; | 165 local $TODO = 'not yet'; |
165 | 166 |
166 ok(valid('/sn', 'http://foobAr'), 'server_names regex caseless'); | 167 ok(valid('/sn', 'http://foobAr'), 'server_names regex caseless'); |
167 ok(valid('/sn', 'http://foobAr/uri'), 'server_names regex caseless uri'); | 168 ok(valid('/sn', 'http://foobAr/uri'), 'server_names regex caseless uri'); |
169 ok(valid('/sn', 'http://anchoredre/uri'), 'server_names regex anchored'); | |
168 | 170 |
169 } | 171 } |
170 | 172 |
171 ok(valid('/sn', 'http://foobar/uri'), 'server_names regex uri'); | 173 ok(valid('/sn', 'http://foobar/uri'), 'server_names regex uri'); |
172 ok(!valid('/sn', 'localhost'), 'server_names no scheme'); | 174 ok(!valid('/sn', 'localhost'), 'server_names no scheme'); |