From d740a87d047c41978b1da7bb64ea3e260b0cb83e Mon Sep 17 00:00:00 2001 From: Eklavya Sharma Date: Tue, 12 Jul 2016 19:11:45 +0530 Subject: [PATCH] zerver/tests: Use unicode strings. * Use unicode strings for strings containing non-ASCII characters. * Decode response content when text output is expected. --- zerver/tests/test_auth_backends.py | 4 +-- zerver/tests/test_decorators.py | 8 +++--- zerver/tests/test_i18n.py | 32 ++++++++++++------------ zerver/tests/test_management_commands.py | 14 +++++------ zerver/tests/test_signup.py | 14 +++++------ 5 files changed, 36 insertions(+), 36 deletions(-) diff --git a/zerver/tests/test_auth_backends.py b/zerver/tests/test_auth_backends.py index 958008eb7b..3831171cb3 100644 --- a/zerver/tests/test_auth_backends.py +++ b/zerver/tests/test_auth_backends.py @@ -238,8 +238,8 @@ class DevGetEmailsTest(AuthedTestCase): # type: () -> None result = self.client.get("/api/v1/dev_get_emails") self.assert_json_success(result) - self.assertIn("direct_admins", result.content) - self.assertIn("direct_users", result.content) + self.assert_in_response("direct_admins", result) + self.assert_in_response("direct_users", result) def test_dev_auth_disabled(self): # type: () -> None diff --git a/zerver/tests/test_decorators.py b/zerver/tests/test_decorators.py index 78a247605d..00dbbdef5d 100644 --- a/zerver/tests/test_decorators.py +++ b/zerver/tests/test_decorators.py @@ -463,7 +463,7 @@ class DeactivatedRealmTest(AuthedTestCase): """ do_deactivate_realm(get_realm("zulip.com")) result = self.login_with_return("hamlet@zulip.com") - self.assertIn("has been deactivated", result.content.replace("\n", " ")) + self.assertIn("has been deactivated", result.content.decode('utf-8').replace("\n", " ")) def test_webhook_deactivated_realm(self): """ @@ -495,7 +495,7 @@ class LoginRequiredTest(AuthedTestCase): # Verify succeeds once logged-in self.login(email) result = self.client.get('/accounts/accept_terms/') - self.assertIn("I agree to the", result.content) + self.assert_in_response("I agree to the", result) # Verify fails if user deactivated (with session still valid) user_profile.is_active = False @@ -507,7 +507,7 @@ class LoginRequiredTest(AuthedTestCase): do_reactivate_user(user_profile) self.login(email) result = self.client.get('/accounts/accept_terms/') - self.assertIn("I agree to the", result.content) + self.assert_in_response("I agree to the", result) # Verify fails if realm deactivated user_profile.realm.deactivated = True @@ -593,7 +593,7 @@ class InactiveUserTest(AuthedTestCase): do_deactivate_user(user_profile) result = self.login_with_return("hamlet@zulip.com") - self.assertIn("Please enter a correct email and password", result.content.replace("\n", " ")) + self.assertIn("Please enter a correct email and password", result.content.decode('utf-8').replace("\n", " ")) def test_webhook_deactivated_user(self): """ diff --git a/zerver/tests/test_i18n.py b/zerver/tests/test_i18n.py index e34d74ce6e..44c410228f 100644 --- a/zerver/tests/test_i18n.py +++ b/zerver/tests/test_i18n.py @@ -12,7 +12,7 @@ from six.moves.http_cookies import SimpleCookie from zerver.lib.test_helpers import AuthedTestCase, skip_py3 -class TranslationTestCase(TestCase): +class TranslationTestCase(AuthedTestCase): """ Tranlations strings should change with locale. URLs should be locale aware. @@ -30,44 +30,44 @@ class TranslationTestCase(TestCase): @skip_py3 def test_accept_language_header(self): # type: () -> None - languages = [('en', 'Register'), - ('de', 'Registrieren'), - ('sr', 'Региструј се'), - ('zh-cn', '注册'), + languages = [('en', u'Register'), + ('de', u'Registrieren'), + ('sr', u'Региструј се'), + ('zh-cn', u'注册'), ] for lang, word in languages: response = self.fetch('get', '/integrations/', 200, HTTP_ACCEPT_LANGUAGE=lang) - self.assertTrue(word in response.content) + self.assert_in_response(word, response) @skip_py3 def test_cookie(self): # type: () -> None - languages = [('en', 'Register'), - ('de', 'Registrieren'), - ('sr', 'Региструј се'), - ('zh-cn', '注册'), + languages = [('en', u'Register'), + ('de', u'Registrieren'), + ('sr', u'Региструј се'), + ('zh-cn', u'注册'), ] for lang, word in languages: self.client.cookies = SimpleCookie({settings.LANGUAGE_COOKIE_NAME: lang}) # type: ignore # SimpleCookie has incomplete stubs in python 3 response = self.fetch('get', '/integrations/', 200) - self.assertTrue(word in response.content) + self.assert_in_response(word, response) @skip_py3 def test_i18n_urls(self): # type: () -> None - languages = [('en', 'Register'), - ('de', 'Registrieren'), - ('sr', 'Региструј се'), - ('zh-cn', '注册'), + languages = [('en', u'Register'), + ('de', u'Registrieren'), + ('sr', u'Региструј се'), + ('zh-cn', u'注册'), ] for lang, word in languages: response = self.fetch('get', '/{}/integrations/'.format(lang), 200) - self.assertTrue(word in response.content) + self.assert_in_response(word, response) class JsonTranslationTestCase(AuthedTestCase): diff --git a/zerver/tests/test_management_commands.py b/zerver/tests/test_management_commands.py index ba5e0f0d64..02c18c799c 100644 --- a/zerver/tests/test_management_commands.py +++ b/zerver/tests/test_management_commands.py @@ -7,7 +7,7 @@ from django.core.management import call_command from zerver.models import get_realm from confirmation.models import RealmCreationKey, generate_realm_creation_url from datetime import timedelta -from zerver.lib.test_helpers import skip_py3 +from zerver.lib.test_helpers import AuthedTestCase, skip_py3 class TestSendWebhookFixtureMessage(TestCase): COMMAND_NAME = 'send_webhook_fixture_message' @@ -61,7 +61,7 @@ class TestSendWebhookFixtureMessage(TestCase): self.assertTrue(open_mock.called) client.post.assert_called_once_with(self.url, {}, content_type="application/json") -class TestGenerateRealmCreationLink(TestCase): +class TestGenerateRealmCreationLink(AuthedTestCase): COMMAND_NAME = "generate_realm_creation_link" @skip_py3 @@ -75,7 +75,7 @@ class TestGenerateRealmCreationLink(TestCase): # Check realm creation page is accessible result = self.client.get(generated_link) self.assertEquals(result.status_code, 200) - self.assertIn("Let's get started…", result.content) + self.assert_in_response(u"Let's get started…", result) # Create Realm with generated link self.assertIsNone(get_realm(domain)) @@ -84,12 +84,12 @@ class TestGenerateRealmCreationLink(TestCase): self.assertTrue(result["Location"].endswith( "/accounts/send_confirm/%s@%s" % (username, domain))) result = self.client.get(result["Location"]) - self.assertIn("Check your email so we can get started.", result.content) + self.assert_in_response("Check your email so we can get started.", result) # Generated link used for creating realm result = self.client.get(generated_link) self.assertEquals(result.status_code, 200) - self.assertIn("The organization creation link has been expired or is not valid.", result.content) + self.assert_in_response("The organization creation link has been expired or is not valid.", result) @skip_py3 def test_realm_creation_with_random_link(self): @@ -98,7 +98,7 @@ class TestGenerateRealmCreationLink(TestCase): random_link = "/create_realm/5e89081eb13984e0f3b130bf7a4121d153f1614b" result = self.client.get(random_link) self.assertEquals(result.status_code, 200) - self.assertIn("The organization creation link has been expired or is not valid.", result.content) + self.assert_in_response("The organization creation link has been expired or is not valid.", result) @skip_py3 def test_realm_creation_with_expired_link(self): @@ -112,4 +112,4 @@ class TestGenerateRealmCreationLink(TestCase): result = self.client.get(generated_link) self.assertEquals(result.status_code, 200) - self.assertIn("The organization creation link has been expired or is not valid.", result.content) + self.assert_in_response("The organization creation link has been expired or is not valid.", result) diff --git a/zerver/tests/test_signup.py b/zerver/tests/test_signup.py index 54d3db012a..351b6ff4c0 100644 --- a/zerver/tests/test_signup.py +++ b/zerver/tests/test_signup.py @@ -130,7 +130,7 @@ class LoginTest(AuthedTestCase): def test_login_nonexist_user(self): # type: () -> None result = self.login_with_return("xxx@zulip.com", "xxx") - self.assertIn("Please enter a correct email and password", result.content) + self.assert_in_response("Please enter a correct email and password", result) def test_register(self): # type: () -> None @@ -159,7 +159,7 @@ class LoginTest(AuthedTestCase): realm.save(update_fields=["deactivated"]) result = self.register("test", "test") - self.assertIn("has been deactivated", result.content.replace("\n", " ")) + self.assertIn("has been deactivated", result.content.decode('utf-8').replace("\n", " ")) with self.assertRaises(UserProfile.DoesNotExist): get_user_profile_by_email('test@zulip.com') @@ -175,7 +175,7 @@ class LoginTest(AuthedTestCase): realm.save(update_fields=["deactivated"]) result = self.login_with_return("hamlet@zulip.com") - self.assertIn("has been deactivated", result.content.replace("\n", " ")) + self.assertIn("has been deactivated", result.content.decode('utf-8').replace("\n", " ")) def test_logout(self): # type: () -> None @@ -228,7 +228,7 @@ class LoginTest(AuthedTestCase): self.assertTrue(result["Location"].endswith( "/accounts/send_confirm/%s@%s" % (username, domain))) result = self.client.get(result["Location"]) - self.assertIn("Check your email so we can get started.", result.content) + self.assert_in_response("Check your email so we can get started.", result) # Visit the confirmation link. from django.core.mail import outbox @@ -251,7 +251,7 @@ class LoginTest(AuthedTestCase): # Invite other users to join you. result = self.client.get(result["Location"]) - self.assertIn("You're the first one here!", result.content) + self.assert_in_response("You're the first one here!", result) # Reset the outbox for our invites. outbox.pop() @@ -584,7 +584,7 @@ class RealmCreationTest(AuthedTestCase): self.assertTrue(result["Location"].endswith( "/accounts/send_confirm/%s@%s" % (username, domain))) result = self.client.get(result["Location"]) - self.assertIn("Check your email so we can get started.", result.content) + self.assert_in_response("Check your email so we can get started.", result) # Visit the confirmation link. from django.core.mail import outbox @@ -613,4 +613,4 @@ class RealmCreationTest(AuthedTestCase): self.assertTrue(result["Location"].endswith("/invite/")) result = self.client.get(result["Location"]) - self.assertIn("You're the first one here!", result.content) + self.assert_in_response("You're the first one here!", result)