From d15391fdfa4d1f7db677238ba25636a91b75e5c1 Mon Sep 17 00:00:00 2001
From: David Baumgold <david@davidbaumgold.com>
Date: Thu, 5 Dec 2013 15:50:49 -0500
Subject: [PATCH] Update factory_boy to 2.2.1

---
 .../course_modes/tests/factories.py           |  3 +-
 common/djangoapps/student/tests/factories.py  | 39 +++++++------------
 lms/djangoapps/courseware/tests/factories.py  | 22 +++++------
 .../django_comment_client/tests/factories.py  |  2 +-
 .../instructor_task/tests/factories.py        |  5 ++-
 lms/djangoapps/licenses/tests.py              |  5 ++-
 lms/djangoapps/user_api/tests/factories.py    |  2 +-
 requirements/edx/base.txt                     |  2 +-
 8 files changed, 37 insertions(+), 43 deletions(-)

diff --git a/common/djangoapps/course_modes/tests/factories.py b/common/djangoapps/course_modes/tests/factories.py
index 945858fb1f2..4c32dea10f2 100644
--- a/common/djangoapps/course_modes/tests/factories.py
+++ b/common/djangoapps/course_modes/tests/factories.py
@@ -1,5 +1,6 @@
 from course_modes.models import CourseMode
-from factory import DjangoModelFactory
+from factory.django import DjangoModelFactory
+
 
 # Factories don't have __init__ methods, and are self documenting
 # pylint: disable=W0232
diff --git a/common/djangoapps/student/tests/factories.py b/common/djangoapps/student/tests/factories.py
index 22210366478..d44ee95b805 100644
--- a/common/djangoapps/student/tests/factories.py
+++ b/common/djangoapps/student/tests/factories.py
@@ -6,15 +6,8 @@ from student.models import (User, UserProfile, Registration,
 from course_modes.models import CourseMode
 from django.contrib.auth.models import Group, AnonymousUser
 from datetime import datetime
-from factory import (
-    DjangoModelFactory,
-    Factory,
-    LazyAttribute,
-    post_generation,
-    PostGenerationMethodCall,
-    Sequence,
-    SubFactory,
-)
+import factory
+from factory.django import DjangoModelFactory
 from uuid import uuid4
 from pytz import UTC
 
@@ -26,8 +19,7 @@ class GroupFactory(DjangoModelFactory):
     FACTORY_FOR = Group
     FACTORY_DJANGO_GET_OR_CREATE = ('name', )
 
-    name = Sequence(u'group{0}'.format)
-
+    name = factory.Sequence(u'group{0}'.format)
 
 
 class UserStandingFactory(DjangoModelFactory):
@@ -43,7 +35,7 @@ class UserProfileFactory(DjangoModelFactory):
     FACTORY_DJANGO_GET_OR_CREATE = ('user', )
 
     user = None
-    name = LazyAttribute(u'{0.user.first_name} {0.user.last_name}'.format)
+    name = factory.LazyAttribute(u'{0.user.first_name} {0.user.last_name}'.format)
     level_of_education = None
     gender = u'm'
     mailing_address = None
@@ -72,11 +64,10 @@ class UserFactory(DjangoModelFactory):
     FACTORY_FOR = User
     FACTORY_DJANGO_GET_OR_CREATE = ('email', 'username')
 
-    username = Sequence(u'robot{0}'.format)
-    email = Sequence(u'robot+test+{0}@edx.org'.format)
-    password = PostGenerationMethodCall('set_password',
-                                        'test')
-    first_name = Sequence(u'Robot{0}'.format)
+    username = factory.Sequence(u'robot{0}'.format)
+    email = factory.Sequence(u'robot+test+{0}@edx.org'.format)
+    password = factory.PostGenerationMethodCall('set_password', 'test')
+    first_name = factory.Sequence(u'Robot{0}'.format)
     last_name = 'Test'
     is_staff = False
     is_active = True
@@ -84,7 +75,7 @@ class UserFactory(DjangoModelFactory):
     last_login = datetime(2012, 1, 1, tzinfo=UTC)
     date_joined = datetime(2011, 1, 1, tzinfo=UTC)
 
-    @post_generation
+    @factory.post_generation
     def profile(obj, create, extracted, **kwargs):  # pylint: disable=unused-argument, no-self-argument
         if create:
             obj.save()
@@ -94,7 +85,7 @@ class UserFactory(DjangoModelFactory):
         else:
             return None
 
-    @post_generation
+    @factory.post_generation
     def groups(self, create, extracted, **kwargs):
         if extracted is None:
             return
@@ -106,7 +97,7 @@ class UserFactory(DjangoModelFactory):
             self.groups.add(GroupFactory.simple_generate(create, name=group_name))
 
 
-class AnonymousUserFactory(Factory):
+class AnonymousUserFactory(factory.Factory):
     FACTORY_FOR = AnonymousUser
 
 
@@ -117,7 +108,7 @@ class AdminFactory(UserFactory):
 class CourseEnrollmentFactory(DjangoModelFactory):
     FACTORY_FOR = CourseEnrollment
 
-    user = SubFactory(UserFactory)
+    user = factory.SubFactory(UserFactory)
     course_id = u'edX/toy/2012_Fall'
 
 
@@ -137,6 +128,6 @@ class PendingEmailChangeFactory(DjangoModelFactory):
     """
     FACTORY_FOR = PendingEmailChange
 
-    user = SubFactory(UserFactory)
-    new_email = Sequence(u'new+email+{0}@edx.org'.format)
-    activation_key = Sequence(u'{:0<30d}'.format)
+    user = factory.SubFactory(UserFactory)
+    new_email = factory.Sequence(u'new+email+{0}@edx.org'.format)
+    activation_key = factory.Sequence(u'{:0<30d}'.format)
diff --git a/lms/djangoapps/courseware/tests/factories.py b/lms/djangoapps/courseware/tests/factories.py
index 38ad365011d..b2ccbcb30dd 100644
--- a/lms/djangoapps/courseware/tests/factories.py
+++ b/lms/djangoapps/courseware/tests/factories.py
@@ -1,7 +1,7 @@
 import json
 from functools import partial
-
-from factory import DjangoModelFactory, SubFactory, post_generation
+import factory
+from factory.django import DjangoModelFactory
 
 # Imported to re-export
 # pylint: disable=unused-import
@@ -40,7 +40,7 @@ class InstructorFactory(UserFactory):
     """
     last_name = "Instructor"
 
-    @post_generation
+    @factory.post_generation
     def course(self, create, extracted, **kwargs):
         if extracted is None:
             raise ValueError("Must specify a course location for a course instructor user")
@@ -54,7 +54,7 @@ class StaffFactory(UserFactory):
     """
     last_name = "Staff"
 
-    @post_generation
+    @factory.post_generation
     def course(self, create, extracted, **kwargs):
         if extracted is None:
             raise ValueError("Must specify a course location for a course staff user")
@@ -68,7 +68,7 @@ class BetaTesterFactory(UserFactory):
     """
     last_name = "Beta-Tester"
 
-    @post_generation
+    @factory.post_generation
     def course(self, create, extracted, **kwargs):
         if extracted is None:
             raise ValueError("Must specify a course location for a beta-tester user")
@@ -82,7 +82,7 @@ class OrgStaffFactory(UserFactory):
     """
     last_name = "Org-Staff"
 
-    @post_generation
+    @factory.post_generation
     def course(self, create, extracted, **kwargs):
         if extracted is None:
             raise ValueError("Must specify a course location for an org-staff user")
@@ -96,7 +96,7 @@ class OrgInstructorFactory(UserFactory):
     """
     last_name = "Org-Instructor"
 
-    @post_generation
+    @factory.post_generation
     def course(self, create, extracted, **kwargs):
         if extracted is None:
             raise ValueError("Must specify a course location for an org-instructor user")
@@ -109,7 +109,7 @@ class GlobalStaffFactory(UserFactory):
     """
     last_name = "GlobalStaff"
 
-    @post_generation
+    @factory.post_generation
     def set_staff(self, create, extracted, **kwargs):
         GlobalStaff().add_users(self)
 
@@ -118,7 +118,7 @@ class StudentModuleFactory(DjangoModelFactory):
     FACTORY_FOR = StudentModule
 
     module_type = "problem"
-    student = SubFactory(UserFactory)
+    student = factory.SubFactory(UserFactory)
     course_id = "MITx/999/Robot_Super_Course"
     state = None
     grade = None
@@ -139,7 +139,7 @@ class StudentPrefsFactory(DjangoModelFactory):
 
     field_name = 'existing_field'
     value = json.dumps('old_value')
-    student = SubFactory(UserFactory)
+    student = factory.SubFactory(UserFactory)
     module_type = 'MockProblemModule'
 
 
@@ -148,4 +148,4 @@ class StudentInfoFactory(DjangoModelFactory):
 
     field_name = 'existing_field'
     value = json.dumps('old_value')
-    student = SubFactory(UserFactory)
+    student = factory.SubFactory(UserFactory)
diff --git a/lms/djangoapps/django_comment_client/tests/factories.py b/lms/djangoapps/django_comment_client/tests/factories.py
index 4a82c8f1bb4..a3393b60104 100644
--- a/lms/djangoapps/django_comment_client/tests/factories.py
+++ b/lms/djangoapps/django_comment_client/tests/factories.py
@@ -1,4 +1,4 @@
-from factory import DjangoModelFactory
+from factory.django import DjangoModelFactory
 from django_comment_common.models import Role, Permission
 
 
diff --git a/lms/djangoapps/instructor_task/tests/factories.py b/lms/djangoapps/instructor_task/tests/factories.py
index e54c007a817..8cb982560df 100644
--- a/lms/djangoapps/instructor_task/tests/factories.py
+++ b/lms/djangoapps/instructor_task/tests/factories.py
@@ -1,6 +1,7 @@
 import json
 
-from factory import DjangoModelFactory, SubFactory
+import factory
+from factory.django import DjangoModelFactory
 from student.tests.factories import UserFactory as StudentUserFactory
 from instructor_task.models import InstructorTask
 from celery.states import PENDING
@@ -16,4 +17,4 @@ class InstructorTaskFactory(DjangoModelFactory):
     task_id = None
     task_state = PENDING
     task_output = None
-    requester = SubFactory(StudentUserFactory)
+    requester = factory.SubFactory(StudentUserFactory)
diff --git a/lms/djangoapps/licenses/tests.py b/lms/djangoapps/licenses/tests.py
index 4298bec81bd..a416c594550 100644
--- a/lms/djangoapps/licenses/tests.py
+++ b/lms/djangoapps/licenses/tests.py
@@ -5,7 +5,8 @@ import json
 from uuid import uuid4
 from random import shuffle
 from tempfile import NamedTemporaryFile
-from factory import DjangoModelFactory, SubFactory
+import factory
+from factory.django import DjangoModelFactory
 
 from django.test import TestCase
 from django.test.client import Client
@@ -51,7 +52,7 @@ class UserLicenseFactory(DjangoModelFactory):
     FACTORY_FOR = UserLicense
 
     user = None
-    software = SubFactory(CourseSoftwareFactory)
+    software = factory.SubFactory(CourseSoftwareFactory)
     serial = SERIAL_1
 
 
diff --git a/lms/djangoapps/user_api/tests/factories.py b/lms/djangoapps/user_api/tests/factories.py
index 97cc12df126..ee2609cb5be 100644
--- a/lms/djangoapps/user_api/tests/factories.py
+++ b/lms/djangoapps/user_api/tests/factories.py
@@ -1,4 +1,4 @@
-from factory import DjangoModelFactory
+from factory.django import DjangoModelFactory
 from user_api.models import UserPreference
 
 
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index 3bcfe9abe0e..6e50056d1c8 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -92,7 +92,7 @@ transifex-client==0.9.1
 # Used for testing
 coverage==3.7
 ddt==0.4.0
-factory_boy==2.0.2
+factory_boy==2.2.1
 mock==1.0.1
 nosexcover==1.0.7
 pep8==1.4.5
-- 
GitLab