changeset 193:50063559d85a

Tests: proxy_redirect and Refresh header.
author Valentin Bartenev <ne@vbart.ru>
date Tue, 10 Jan 2012 02:06:15 +0400
parents f2a48c528b3b
children 5db96b64cead
files proxy_redirect.t
diffstat 1 files changed, 29 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/proxy_redirect.t
+++ b/proxy_redirect.t
@@ -22,7 +22,7 @@ use Test::Nginx;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(6);
+my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(12);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
 
@@ -68,6 +68,7 @@ http {
         server_name  localhost;
 
         location / {
+            add_header Refresh "7; url=http://127.0.0.1:8081$uri";
             return http://127.0.0.1:8081$uri;
         }
     }
@@ -85,18 +86,27 @@ is(http_get_location('http://127.0.0.1:8
 is(http_get_location('http://127.0.0.1:8080/expl_default/test.html'),
 	'http://127.0.0.1:8080/expl_default/test.html', 'explicit default');
 
+is(http_get_refresh('http://127.0.0.1:8080/impl_default/test.html'),
+	'7; url=/impl_default/test.html', 'implicit default (refresh)');
+is(http_get_refresh('http://127.0.0.1:8080/expl_default/test.html'),
+	'7; url=/expl_default/test.html', 'explicit default (refresh)');
+
 is(http_get_location('http://127.0.0.1:8080/var_in_second/test.html'),
 	'http://127.0.0.1:8080/var_here/test.html', 'variable in second arg');
+is(http_get_refresh('http://127.0.0.1:8080/var_in_second/test.html'),
+	'7; url=/var_here/test.html', 'variable in second arg (refresh)');
 
-TODO:{
+TODO: {
 local $TODO = 'support variables in first argument';
 
 is(http_get_location('http://127.0.0.1:8080/var_here/test.html'),
 	'http://127.0.0.1:8080/replaced/test.html', 'variable in first arg');
+is(http_get_refresh('http://127.0.0.1:8080/var_here/test.html'),
+	'7; url=/replaced/test.html', 'variable in first arg (refresh)');
 
 }
 
-TODO:{
+TODO: {
 local $TODO = 'support for regular expressions';
 
 is(http_get_location('http://127.0.0.1:8080/ReeegEX/test.html'),
@@ -106,6 +116,16 @@ is(http_get_location('http://127.0.0.1:8
 
 }
 
+TODO: {
+local $TODO = 'regular expressions and Refresh header';
+
+is(http_get_refresh('http://127.0.0.1:8080/ReeegEX/test.html'),
+	'7; url=/replaced/test.html', 'caseless regexp (refresh)');
+is(http_get_refresh('http://127.0.0.1:8080/regex_w_captures/test.html'),
+	'7; url=http://127.0.0.1:8080/captures/test.html',
+	'regexp w/captures (refresh)');
+
+}
 
 ###############################################################################
 
@@ -114,3 +134,9 @@ sub http_get_location {
 	http_get($url) =~ /^Location:\s(.+?)\x0d?$/mi;
 	return $1;
 }
+
+sub http_get_refresh {
+	my ($url) = @_;
+	http_get($url) =~ /^Refresh:\s(.+?)\x0d?$/mi;
+	return $1;
+}