From patchwork Fri Aug 21 14:32:11 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Finucane X-Patchwork-Id: 509506 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 920F11402A9 for ; Sat, 22 Aug 2015 00:34:38 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 783271A03A8 for ; Sat, 22 Aug 2015 00:34:38 +1000 (AEST) X-Original-To: patchwork@lists.ozlabs.org Delivered-To: patchwork@lists.ozlabs.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lists.ozlabs.org (Postfix) with ESMTP id A2B651A005C for ; Sat, 22 Aug 2015 00:32:35 +1000 (AEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 21 Aug 2015 07:32:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,722,1432623600"; d="scan'208";a="788265892" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga002.fm.intel.com with ESMTP; 21 Aug 2015 07:32:30 -0700 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id t7LEWTUR007157; Fri, 21 Aug 2015 15:32:29 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id t7LEWTWx010811; Fri, 21 Aug 2015 15:32:29 +0100 Received: (from sfinucan@localhost) by sivswdev01.ir.intel.com with id t7LEWTNY010807; Fri, 21 Aug 2015 15:32:29 +0100 From: Stephen Finucane To: patchwork@lists.ozlabs.org Subject: [PATCH v2 07/16] tests: Move 'reverse' calls inside 'setUp' Date: Fri, 21 Aug 2015 15:32:11 +0100 Message-Id: <1440167540-8751-8-git-send-email-stephen.finucane@intel.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1440167540-8751-1-git-send-email-stephen.finucane@intel.com> References: <1440167540-8751-1-git-send-email-stephen.finucane@intel.com> X-BeenThere: patchwork@lists.ozlabs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Patchwork development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Patchwork" 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. Signed-off-by: Stephen Finucane --- 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 a193c97..20ed777 100644 --- a/patchwork/tests/test_mail_settings.py +++ b/patchwork/tests/test_mail_settings.py @@ -28,8 +28,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) @@ -78,8 +79,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) @@ -124,10 +126,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() @@ -157,10 +158,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() @@ -232,8 +232,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' @@ -248,16 +249,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 0faa970..ef213a7 100644 --- a/patchwork/tests/test_user.py +++ b/patchwork/tests/test_user.py @@ -27,6 +27,7 @@ from django.contrib.auth.models import User from patchwork.models import EmailConfirmation, Person, Bundle from patchwork.tests.utils import defaults, error_strings + def _confirmation_url(conf): return reverse('patchwork.views.confirm', kwargs = {'key': conf.key}) @@ -121,7 +122,7 @@ class UserPersonConfirmTest(TestCase): self.assertEquals(conf.active, False) class UserLoginRedirectTest(TestCase): - + def testUserLoginRedirect(self): url = '/user/' response = self.client.get(url) @@ -157,8 +158,12 @@ class UserProfileTest(TestCase): self.assertContains(response, bundle.get_absolute_url()) 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()