From df4ba9b9e672148852e8eda3ec7c4e22c9036a94 Mon Sep 17 00:00:00 2001 From: Lee Kyoung chan Date: Tue, 23 Sep 2014 17:46:24 +0900 Subject: [PATCH] Add a unit test for tornado.web.RedirectHandler --- tornado/test/web_test.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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") -- 2.47.2