From 41552cccbac7de60394e78a2017e26b759ac5157 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Fri, 21 Aug 2015 15:32:11 +0100 Subject: [PATCH] tests: Move 'reverse' calls inside 'setUp' Django creates test databases after it loads tests. However, any operations that exist at class level will be executed before this database is created. Fix the instances of this issue (mostly 'reverse' calls or similar) by moving the calls into the relevant 'setUp' functions for each test. Acked-by: Damien Lespiau Signed-off-by: Stephen Finucane Signed-off-by: Damien Lespiau --- patchwork/tests/test_mail_settings.py | 38 +++++++++++++-------------- patchwork/tests/test_user.py | 11 +++++--- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/patchwork/tests/test_mail_settings.py b/patchwork/tests/test_mail_settings.py index 35c832a..477f39f 100644 --- a/patchwork/tests/test_mail_settings.py +++ b/patchwork/tests/test_mail_settings.py @@ -25,8 +25,9 @@ from patchwork.models import EmailOptout, EmailConfirmation, Person from patchwork.tests.utils import create_user, error_strings class MailSettingsTest(TestCase): - view = 'patchwork.views.mail.settings' - url = reverse(view) + + def setUp(self): + self.url = reverse('patchwork.views.mail.settings') def testMailSettingsGET(self): response = self.client.get(self.url) @@ -75,8 +76,9 @@ class MailSettingsTest(TestCase): self.assertTrue(('action="%s"' % optin_url) in response.content) class OptoutRequestTest(TestCase): - view = 'patchwork.views.mail.optout' - url = reverse(view) + + def setUp(self): + self.url = reverse('patchwork.views.mail.optout') def testOptOutRequestGET(self): response = self.client.get(self.url) @@ -121,10 +123,9 @@ class OptoutRequestTest(TestCase): self.assertEquals(len(mail.outbox), 0) class OptoutTest(TestCase): - view = 'patchwork.views.mail.optout' - url = reverse(view) def setUp(self): + self.url = reverse('patchwork.views.mail.optout') self.email = u'foo@example.com' self.conf = EmailConfirmation(type = 'optout', email = self.email) self.conf.save() @@ -154,10 +155,9 @@ class OptoutPreexistingTest(OptoutTest): EmailOptout(email = self.email).save() class OptinRequestTest(TestCase): - view = 'patchwork.views.mail.optin' - url = reverse(view) def setUp(self): + self.url = reverse('patchwork.views.mail.optin') self.email = u'foo@example.com' EmailOptout(email = self.email).save() @@ -229,8 +229,9 @@ class OptinTest(TestCase): class OptinWithoutOptoutTest(TestCase): """Test an opt-in with no existing opt-out""" - view = 'patchwork.views.mail.optin' - url = reverse(view) + + def setUp(self): + self.url = reverse('patchwork.views.mail.optin') def testOptInWithoutOptout(self): email = u'foo@example.com' @@ -245,16 +246,15 @@ class UserProfileOptoutFormTest(TestCase): """Test that the correct optin/optout forms appear on the user profile page, for logged-in users""" - view = 'patchwork.views.user.profile' - url = reverse(view) - optout_url = reverse('patchwork.views.mail.optout') - optin_url = reverse('patchwork.views.mail.optin') - form_re_template = (']*action="%(url)s"[^>]*>' - '.*?]*value="%(email)s"[^>]*>.*?' - '') - secondary_email = 'test2@example.com' - def setUp(self): + self.url = reverse('patchwork.views.user.profile') + self.optout_url = reverse('patchwork.views.mail.optout') + self.optin_url = reverse('patchwork.views.mail.optin') + self.form_re_template = (']*action="%(url)s"[^>]*>' + '.*?]*value="%(email)s"[^>]*>.*?' + '') + self.secondary_email = 'test2@example.com' + self.user = create_user() self.client.login(username = self.user.username, password = self.user.username) diff --git a/patchwork/tests/test_user.py b/patchwork/tests/test_user.py index 8bef45a..ab46126 100644 --- a/patchwork/tests/test_user.py +++ b/patchwork/tests/test_user.py @@ -25,6 +25,7 @@ from django.contrib.auth.models import User from patchwork.models import EmailConfirmation, Person, Bundle, UserProfile from patchwork.tests.utils import defaults, error_strings + def _confirmation_url(conf): return reverse('patchwork.views.confirm', kwargs = {'key': conf.key}) @@ -120,7 +121,7 @@ class UserPersonConfirmTest(TestCase): self.assertEquals(conf.active, False) class UserLoginRedirectTest(TestCase): - + def testUserLoginRedirect(self): url = '/user/' response = self.client.get(url) @@ -177,8 +178,12 @@ class UserProfileTest(TestCase): class UserPasswordChangeTest(TestCase): - form_url = reverse('django.contrib.auth.views.password_change') - done_url = reverse('django.contrib.auth.views.password_change_done') + user = None + + def setUp(self): + self.form_url = reverse('django.contrib.auth.views.password_change') + self.done_url = reverse( + 'django.contrib.auth.views.password_change_done') def testPasswordChangeForm(self): self.user = TestUser() -- 2.39.2