From: Lee Kyoung chan Date: Tue, 23 Sep 2014 08:46:24 +0000 (+0900) Subject: Add a unit test for tornado.web.RedirectHandler X-Git-Tag: v4.1.0b1~79^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1206%2Fhead;p=thirdparty%2Ftornado.git Add a unit test for tornado.web.RedirectHandler --- diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py index b984ac4a7..55c9c9e8c 100644 --- a/tornado/test/web_test.py +++ b/tornado/test/web_test.py @@ -11,7 +11,7 @@ from tornado.template import DictLoader from tornado.testing import AsyncHTTPTestCase, ExpectLog, gen_test from tornado.test.util import unittest from tornado.util import u, ObjectDict, unicode_type, timedelta_to_seconds -from tornado.web import RequestHandler, authenticated, Application, asynchronous, url, HTTPError, StaticFileHandler, _create_signature_v1, create_signed_value, decode_signed_value, ErrorHandler, UIModule, MissingArgumentError, stream_request_body, Finish, removeslash, addslash +from tornado.web import RequestHandler, authenticated, Application, asynchronous, url, HTTPError, StaticFileHandler, _create_signature_v1, create_signed_value, decode_signed_value, ErrorHandler, UIModule, MissingArgumentError, stream_request_body, Finish, removeslash, addslash, RedirectHandler as WebRedirectHandler import binascii import contextlib @@ -577,6 +577,8 @@ class WSGISafeWebTest(WebTestCase): url("/optional_path/(.+)?", OptionalPathHandler), url("/multi_header", MultiHeaderHandler), url("/redirect", RedirectHandler), + url("/web_redirect_permanent", WebRedirectHandler, {"url": "/web_redirect_newpath"}), + url("/web_redirect", WebRedirectHandler, {"url": "/web_redirect_newpath", "permanent": False}), url("/header_injection", HeaderInjectionHandler), url("/get_argument", GetArgumentHandler), url("/get_arguments", GetArgumentsHandler), @@ -702,6 +704,14 @@ js_embed() response = self.fetch("/redirect?status=307", follow_redirects=False) self.assertEqual(response.code, 307) + def test_web_redirect(self): + response = self.fetch("/web_redirect_permanent", follow_redirects=False) + self.assertEqual(response.code, 301) + self.assertEqual(response.headers['Location'], '/web_redirect_newpath') + response = self.fetch("/web_redirect", follow_redirects=False) + self.assertEqual(response.code, 302) + self.assertEqual(response.headers['Location'], '/web_redirect_newpath') + def test_header_injection(self): response = self.fetch("/header_injection") self.assertEqual(response.body, b"ok")