Remove the create_user argument to setUp.

Instead, use a class attribute to define test behavior. This allows for
easier addition of new mixins over time.
This commit is contained in:
Calen Pennington
2016-04-14 16:19:33 -04:00
parent 39ff841d1f
commit 18e1610043
20 changed files with 59 additions and 39 deletions

View File

@@ -26,9 +26,11 @@ class ThirdPartyOAuthTestMixin(ThirdPartyAuthTestMixin):
access_token = "test_access_token"
client_id = "test_client_id"
def setUp(self, create_user=True):
CREATE_USER = True
def setUp(self):
super(ThirdPartyOAuthTestMixin, self).setUp()
if create_user:
if self.CREATE_USER:
self.user = UserFactory()
UserSocialAuth.objects.create(user=self.user, provider=self.BACKEND, uid=self.social_uid)
self.oauth_client = self._create_client()

View File

@@ -17,8 +17,10 @@ from util import keyword_substitution as Ks
class KeywordSubTest(ModuleStoreTestCase):
""" Tests for the keyword substitution feature """
CREATE_USER = False
def setUp(self):
super(KeywordSubTest, self).setUp(create_user=False)
super(KeywordSubTest, self).setUp()
self.user = UserFactory.create(
email="testuser@edx.org",
username="testuser",

View File

@@ -18,11 +18,13 @@ class MilestonesHelpersTestCase(ModuleStoreTestCase):
Main test suite for Milestones API client library
"""
CREATE_USER = False
def setUp(self):
"""
Test case scaffolding
"""
super(MilestonesHelpersTestCase, self).setUp(create_user=False)
super(MilestonesHelpersTestCase, self).setUp()
self.course = CourseFactory.create(
metadata={
'entrance_exam_enabled': True,

View File

@@ -14,11 +14,13 @@ class OrganizationsHelpersTestCase(ModuleStoreTestCase):
Main test suite for Organizations API client library
"""
CREATE_USER = False
def setUp(self):
"""
Test case scaffolding
"""
super(OrganizationsHelpersTestCase, self).setUp(create_user=False)
super(OrganizationsHelpersTestCase, self).setUp()
self.course = CourseFactory.create()
self.organization = {

View File

@@ -383,16 +383,16 @@ class ModuleStoreTestCase(TestCase):
"""
MODULESTORE = mixed_store_config(mkdtemp_clean(), {})
CREATE_USER = True
# Tell Django to clean out all databases, not just default
multi_db = True
def setUp(self, **kwargs):
def setUp(self):
"""
Creates a test User if `create_user` is True.
Returns the password for the test User.
Args:
create_user - specifies whether or not to create a test User. Default is True.
Creates a test User if `self.CREATE_USER` is True.
Sets the password as self.user_password.
"""
settings_override = override_settings(MODULESTORE=self.MODULESTORE)
settings_override.__enter__()
@@ -422,11 +422,11 @@ class ModuleStoreTestCase(TestCase):
uname = 'testuser'
email = 'test+courses@edx.org'
password = 'foo'
self.user_password = 'foo'
if kwargs.pop('create_user', True):
if self.CREATE_USER:
# Create the user so we can log them in.
self.user = User.objects.create_user(uname, email, password)
self.user = User.objects.create_user(uname, email, self.user_password)
# Note that we do not actually need to do anything
# for registration if we directly mark them active.
@@ -436,7 +436,6 @@ class ModuleStoreTestCase(TestCase):
self.user.is_staff = True
self.user.save()
return password
def create_non_staff_user(self):
"""