Browse Source

moved user/admin tests to MisagoTestCase so they won't leak state to each other #568

Rafał Pitoń 9 years ago
parent
commit
48ae5de310

+ 1 - 1
misago/admin/testutils.py

@@ -5,7 +5,7 @@ from misago.users.testutils import SuperUserTestCase
 
 
 class AdminTestCase(SuperUserTestCase):
 class AdminTestCase(SuperUserTestCase):
     def setUp(self):
     def setUp(self):
-        self.user = self.get_superuser()
+        super(AdminTestCase, self).setUp()
         self.login_admin(self.user)
         self.login_admin(self.user)
 
 
     def login_admin(self, user):
     def login_admin(self, user):

+ 0 - 10
misago/categories/tests/test_categories_admin_views.py

@@ -1,19 +1,9 @@
 from django.core.urlresolvers import reverse
 from django.core.urlresolvers import reverse
-
 from misago.admin.testutils import AdminTestCase
 from misago.admin.testutils import AdminTestCase
-from misago.core import threadstore
-from misago.core.cache import cache
-
 from misago.categories.models import Category
 from misago.categories.models import Category
 
 
 
 
 class CategoryAdminViewsTests(AdminTestCase):
 class CategoryAdminViewsTests(AdminTestCase):
-    def setUp(self):
-        super(CategoryAdminViewsTests, self).setUp()
-
-        cache.clear()
-        threadstore.clear()
-
     def test_link_registered(self):
     def test_link_registered(self):
         """admin nav contains categories link"""
         """admin nav contains categories link"""
         response = self.client.get(
         response = self.client.get(

+ 5 - 3
misago/categories/tests/test_category_model.py

@@ -1,12 +1,12 @@
-from django.test import TestCase
 from django.utils import timezone
 from django.utils import timezone
 
 
+from misago.core.testutils import MisagoTestCase
 from misago.threads import testutils
 from misago.threads import testutils
 
 
 from misago.categories.models import CATEGORIES_TREE_ID, Category
 from misago.categories.models import CATEGORIES_TREE_ID, Category
 
 
 
 
-class CategoryManagerTests(TestCase):
+class CategoryManagerTests(MisagoTestCase):
     def test_private_threads(self):
     def test_private_threads(self):
         """private_threads returns private threads category"""
         """private_threads returns private threads category"""
         category = Category.objects.private_threads()
         category = Category.objects.private_threads()
@@ -45,8 +45,10 @@ class CategoryManagerTests(TestCase):
                 self.assertNotIn(category.id, test_dict)
                 self.assertNotIn(category.id, test_dict)
 
 
 
 
-class CategoryModelTests(TestCase):
+class CategoryModelTests(MisagoTestCase):
     def setUp(self):
     def setUp(self):
+        super(CategoryModelTests, self).setUp()
+
         self.category = Category.objects.all_categories()[:1][0]
         self.category = Category.objects.all_categories()[:1][0]
 
 
     def create_thread(self):
     def create_thread(self):

+ 0 - 8
misago/categories/tests/test_permissions_admin_views.py

@@ -3,8 +3,6 @@ from django.core.urlresolvers import reverse
 from misago.acl.models import Role
 from misago.acl.models import Role
 from misago.acl.testutils import fake_post_data
 from misago.acl.testutils import fake_post_data
 from misago.admin.testutils import AdminTestCase
 from misago.admin.testutils import AdminTestCase
-from misago.core import threadstore
-from misago.core.cache import cache
 
 
 from misago.categories.models import Category, CategoryRole
 from misago.categories.models import Category, CategoryRole
 
 
@@ -14,12 +12,6 @@ def fake_data(data_dict):
 
 
 
 
 class CategoryRoleAdminViewsTests(AdminTestCase):
 class CategoryRoleAdminViewsTests(AdminTestCase):
-    def setUp(self):
-        super(CategoryRoleAdminViewsTests, self).setUp()
-
-        cache.clear()
-        threadstore.clear()
-
     def test_link_registered(self):
     def test_link_registered(self):
         """admin nav contains category roles link"""
         """admin nav contains category roles link"""
         response = self.client.get(
         response = self.client.get(

+ 4 - 6
misago/core/tests/test_cachebuster.py

@@ -1,11 +1,10 @@
-from django.test import TestCase
-
 from misago.core import cachebuster, threadstore
 from misago.core import cachebuster, threadstore
 from misago.core.cache import cache
 from misago.core.cache import cache
 from misago.core.models import CacheVersion
 from misago.core.models import CacheVersion
+from misago.core.testutils import MisagoTestCase
 
 
 
 
-class CacheBusterTests(TestCase):
+class CacheBusterTests(MisagoTestCase):
     def test_register_unregister_cache(self):
     def test_register_unregister_cache(self):
         """register and unregister adds/removes cache"""
         """register and unregister adds/removes cache"""
         test_cache_name = 'eric_the_fish'
         test_cache_name = 'eric_the_fish'
@@ -20,10 +19,9 @@ class CacheBusterTests(TestCase):
             CacheVersion.objects.get(cache=test_cache_name)
             CacheVersion.objects.get(cache=test_cache_name)
 
 
 
 
-class CacheBusterCacheTests(TestCase):
+class CacheBusterCacheTests(MisagoTestCase):
     def setUp(self):
     def setUp(self):
-        cache.clear()
-        threadstore.clear()
+        super(CacheBusterCacheTests, self).setUp()
 
 
         self.cache_name = 'eric_the_fish'
         self.cache_name = 'eric_the_fish'
         cachebuster.register(self.cache_name)
         cachebuster.register(self.cache_name)

+ 3 - 10
misago/threads/tests/test_utils.py

@@ -1,20 +1,14 @@
-from django.test import TestCase
-
+from misago.core.testutils import MisagoTestCase
 from misago.categories.models import Category
 from misago.categories.models import Category
-from misago.core import threadstore
-from misago.core.cache import cache
 
 
 from misago.threads import testutils
 from misago.threads import testutils
 from misago.threads.utils import add_categories_to_threads
 from misago.threads.utils import add_categories_to_threads
 
 
 
 
-class AddCategoriesToThreadsTests(TestCase):
+class AddCategoriesToThreadsTests(MisagoTestCase):
     def setUp(self):
     def setUp(self):
         super(AddCategoriesToThreadsTests, self).setUp()
         super(AddCategoriesToThreadsTests, self).setUp()
 
 
-        cache.clear()
-        threadstore.clear()
-
         self.root = Category.objects.root_category()
         self.root = Category.objects.root_category()
 
 
         """
         """
@@ -72,8 +66,7 @@ class AddCategoriesToThreadsTests(TestCase):
             css_class='showing-category-f',
             css_class='showing-category-f',
         ).insert_at(self.category_e, position='last-child', save=True)
         ).insert_at(self.category_e, position='last-child', save=True)
 
 
-        cache.clear()
-        threadstore.clear()
+        self.clear_state()
 
 
         Category.objects.partial_rebuild(self.root.tree_id)
         Category.objects.partial_rebuild(self.root.tree_id)
 
 

+ 2 - 3
misago/users/tests/test_testutils.py

@@ -1,8 +1,7 @@
 import json
 import json
 from django.core.urlresolvers import reverse
 from django.core.urlresolvers import reverse
-
-from misago.users.testutils import (UserTestCase, AuthenticatedUserTestCase,
-                                    SuperUserTestCase)
+from misago.users.testutils import (
+    UserTestCase, AuthenticatedUserTestCase, SuperUserTestCase)
 
 
 
 
 class UserTestCaseTests(UserTestCase):
 class UserTestCaseTests(UserTestCase):

+ 9 - 4
misago/users/testutils.py

@@ -1,14 +1,19 @@
 from django.contrib.auth import get_user_model
 from django.contrib.auth import get_user_model
 from django.core.urlresolvers import reverse
 from django.core.urlresolvers import reverse
-from django.test import TestCase
+
+from misago.core.testutils import MisagoTestCase
 
 
 from misago.users.models import AnonymousUser
 from misago.users.models import AnonymousUser
 
 
 
 
-class UserTestCase(TestCase):
+class UserTestCase(MisagoTestCase):
     USER_PASSWORD = "Pass.123"
     USER_PASSWORD = "Pass.123"
 
 
     def setUp(self):
     def setUp(self):
+        super(UserTestCase, self).setUp()
+        self.get_initial_user()
+
+    def get_initial_user(self):
         self.user = self.get_anonymous_user()
         self.user = self.get_anonymous_user()
 
 
     def get_anonymous_user(self):
     def get_anonymous_user(self):
@@ -37,7 +42,7 @@ class UserTestCase(TestCase):
 
 
 
 
 class AuthenticatedUserTestCase(UserTestCase):
 class AuthenticatedUserTestCase(UserTestCase):
-    def setUp(self):
+    def get_initial_user(self):
         self.user = self.get_authenticated_user()
         self.user = self.get_authenticated_user()
         self.login_user(self.user)
         self.login_user(self.user)
 
 
@@ -47,6 +52,6 @@ class AuthenticatedUserTestCase(UserTestCase):
 
 
 
 
 class SuperUserTestCase(AuthenticatedUserTestCase):
 class SuperUserTestCase(AuthenticatedUserTestCase):
-    def setUp(self):
+    def get_initial_user(self):
         self.user = self.get_superuser()
         self.user = self.get_superuser()
         self.login_user(self.user)
         self.login_user(self.user)