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');