Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
effee03b
Commit
effee03b
authored
Dec 05, 2013
by
David Baumgold
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1867 from edx/db/update-factory-boy
Update factory_boy to 2.2.1
parents
2bc156cd
d15391fd
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
37 additions
and
43 deletions
+37
-43
common/djangoapps/course_modes/tests/factories.py
+2
-1
common/djangoapps/student/tests/factories.py
+15
-24
lms/djangoapps/courseware/tests/factories.py
+11
-11
lms/djangoapps/django_comment_client/tests/factories.py
+1
-1
lms/djangoapps/instructor_task/tests/factories.py
+3
-2
lms/djangoapps/licenses/tests.py
+3
-2
lms/djangoapps/user_api/tests/factories.py
+1
-1
requirements/edx/base.txt
+1
-1
No files found.
common/djangoapps/course_modes/tests/factories.py
View file @
effee03b
from
course_modes.models
import
CourseMode
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
# Factories don't have __init__ methods, and are self documenting
# pylint: disable=W0232
# pylint: disable=W0232
...
...
common/djangoapps/student/tests/factories.py
View file @
effee03b
...
@@ -6,15 +6,8 @@ from student.models import (User, UserProfile, Registration,
...
@@ -6,15 +6,8 @@ from student.models import (User, UserProfile, Registration,
from
course_modes.models
import
CourseMode
from
course_modes.models
import
CourseMode
from
django.contrib.auth.models
import
Group
,
AnonymousUser
from
django.contrib.auth.models
import
Group
,
AnonymousUser
from
datetime
import
datetime
from
datetime
import
datetime
from
factory
import
(
import
factory
DjangoModelFactory
,
from
factory.django
import
DjangoModelFactory
Factory
,
LazyAttribute
,
post_generation
,
PostGenerationMethodCall
,
Sequence
,
SubFactory
,
)
from
uuid
import
uuid4
from
uuid
import
uuid4
from
pytz
import
UTC
from
pytz
import
UTC
...
@@ -26,8 +19,7 @@ class GroupFactory(DjangoModelFactory):
...
@@ -26,8 +19,7 @@ class GroupFactory(DjangoModelFactory):
FACTORY_FOR
=
Group
FACTORY_FOR
=
Group
FACTORY_DJANGO_GET_OR_CREATE
=
(
'name'
,
)
FACTORY_DJANGO_GET_OR_CREATE
=
(
'name'
,
)
name
=
Sequence
(
u'group{0}'
.
format
)
name
=
factory
.
Sequence
(
u'group{0}'
.
format
)
class
UserStandingFactory
(
DjangoModelFactory
):
class
UserStandingFactory
(
DjangoModelFactory
):
...
@@ -43,7 +35,7 @@ class UserProfileFactory(DjangoModelFactory):
...
@@ -43,7 +35,7 @@ class UserProfileFactory(DjangoModelFactory):
FACTORY_DJANGO_GET_OR_CREATE
=
(
'user'
,
)
FACTORY_DJANGO_GET_OR_CREATE
=
(
'user'
,
)
user
=
None
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
level_of_education
=
None
gender
=
u'm'
gender
=
u'm'
mailing_address
=
None
mailing_address
=
None
...
@@ -72,11 +64,10 @@ class UserFactory(DjangoModelFactory):
...
@@ -72,11 +64,10 @@ class UserFactory(DjangoModelFactory):
FACTORY_FOR
=
User
FACTORY_FOR
=
User
FACTORY_DJANGO_GET_OR_CREATE
=
(
'email'
,
'username'
)
FACTORY_DJANGO_GET_OR_CREATE
=
(
'email'
,
'username'
)
username
=
Sequence
(
u'robot{0}'
.
format
)
username
=
factory
.
Sequence
(
u'robot{0}'
.
format
)
email
=
Sequence
(
u'robot+test+{0}@edx.org'
.
format
)
email
=
factory
.
Sequence
(
u'robot+test+{0}@edx.org'
.
format
)
password
=
PostGenerationMethodCall
(
'set_password'
,
password
=
factory
.
PostGenerationMethodCall
(
'set_password'
,
'test'
)
'test'
)
first_name
=
factory
.
Sequence
(
u'Robot{0}'
.
format
)
first_name
=
Sequence
(
u'Robot{0}'
.
format
)
last_name
=
'Test'
last_name
=
'Test'
is_staff
=
False
is_staff
=
False
is_active
=
True
is_active
=
True
...
@@ -84,7 +75,7 @@ class UserFactory(DjangoModelFactory):
...
@@ -84,7 +75,7 @@ class UserFactory(DjangoModelFactory):
last_login
=
datetime
(
2012
,
1
,
1
,
tzinfo
=
UTC
)
last_login
=
datetime
(
2012
,
1
,
1
,
tzinfo
=
UTC
)
date_joined
=
datetime
(
2011
,
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
def
profile
(
obj
,
create
,
extracted
,
**
kwargs
):
# pylint: disable=unused-argument, no-self-argument
if
create
:
if
create
:
obj
.
save
()
obj
.
save
()
...
@@ -94,7 +85,7 @@ class UserFactory(DjangoModelFactory):
...
@@ -94,7 +85,7 @@ class UserFactory(DjangoModelFactory):
else
:
else
:
return
None
return
None
@post_generation
@
factory.
post_generation
def
groups
(
self
,
create
,
extracted
,
**
kwargs
):
def
groups
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
if
extracted
is
None
:
return
return
...
@@ -106,7 +97,7 @@ class UserFactory(DjangoModelFactory):
...
@@ -106,7 +97,7 @@ class UserFactory(DjangoModelFactory):
self
.
groups
.
add
(
GroupFactory
.
simple_generate
(
create
,
name
=
group_name
))
self
.
groups
.
add
(
GroupFactory
.
simple_generate
(
create
,
name
=
group_name
))
class
AnonymousUserFactory
(
Factory
):
class
AnonymousUserFactory
(
factory
.
Factory
):
FACTORY_FOR
=
AnonymousUser
FACTORY_FOR
=
AnonymousUser
...
@@ -117,7 +108,7 @@ class AdminFactory(UserFactory):
...
@@ -117,7 +108,7 @@ class AdminFactory(UserFactory):
class
CourseEnrollmentFactory
(
DjangoModelFactory
):
class
CourseEnrollmentFactory
(
DjangoModelFactory
):
FACTORY_FOR
=
CourseEnrollment
FACTORY_FOR
=
CourseEnrollment
user
=
SubFactory
(
UserFactory
)
user
=
factory
.
SubFactory
(
UserFactory
)
course_id
=
u'edX/toy/2012_Fall'
course_id
=
u'edX/toy/2012_Fall'
...
@@ -137,6 +128,6 @@ class PendingEmailChangeFactory(DjangoModelFactory):
...
@@ -137,6 +128,6 @@ class PendingEmailChangeFactory(DjangoModelFactory):
"""
"""
FACTORY_FOR
=
PendingEmailChange
FACTORY_FOR
=
PendingEmailChange
user
=
SubFactory
(
UserFactory
)
user
=
factory
.
SubFactory
(
UserFactory
)
new_email
=
Sequence
(
u'new+email+{0}@edx.org'
.
format
)
new_email
=
factory
.
Sequence
(
u'new+email+{0}@edx.org'
.
format
)
activation_key
=
Sequence
(
u'{:0<30d}'
.
format
)
activation_key
=
factory
.
Sequence
(
u'{:0<30d}'
.
format
)
lms/djangoapps/courseware/tests/factories.py
View file @
effee03b
import
json
import
json
from
functools
import
partial
from
functools
import
partial
import
factory
from
factory
import
DjangoModelFactory
,
SubFactory
,
post_generation
from
factory
.django
import
DjangoModelFactory
# Imported to re-export
# Imported to re-export
# pylint: disable=unused-import
# pylint: disable=unused-import
...
@@ -40,7 +40,7 @@ class InstructorFactory(UserFactory):
...
@@ -40,7 +40,7 @@ class InstructorFactory(UserFactory):
"""
"""
last_name
=
"Instructor"
last_name
=
"Instructor"
@post_generation
@
factory.
post_generation
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
if
extracted
is
None
:
raise
ValueError
(
"Must specify a course location for a course instructor user"
)
raise
ValueError
(
"Must specify a course location for a course instructor user"
)
...
@@ -54,7 +54,7 @@ class StaffFactory(UserFactory):
...
@@ -54,7 +54,7 @@ class StaffFactory(UserFactory):
"""
"""
last_name
=
"Staff"
last_name
=
"Staff"
@post_generation
@
factory.
post_generation
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
if
extracted
is
None
:
raise
ValueError
(
"Must specify a course location for a course staff user"
)
raise
ValueError
(
"Must specify a course location for a course staff user"
)
...
@@ -68,7 +68,7 @@ class BetaTesterFactory(UserFactory):
...
@@ -68,7 +68,7 @@ class BetaTesterFactory(UserFactory):
"""
"""
last_name
=
"Beta-Tester"
last_name
=
"Beta-Tester"
@post_generation
@
factory.
post_generation
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
if
extracted
is
None
:
raise
ValueError
(
"Must specify a course location for a beta-tester user"
)
raise
ValueError
(
"Must specify a course location for a beta-tester user"
)
...
@@ -82,7 +82,7 @@ class OrgStaffFactory(UserFactory):
...
@@ -82,7 +82,7 @@ class OrgStaffFactory(UserFactory):
"""
"""
last_name
=
"Org-Staff"
last_name
=
"Org-Staff"
@post_generation
@
factory.
post_generation
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
if
extracted
is
None
:
raise
ValueError
(
"Must specify a course location for an org-staff user"
)
raise
ValueError
(
"Must specify a course location for an org-staff user"
)
...
@@ -96,7 +96,7 @@ class OrgInstructorFactory(UserFactory):
...
@@ -96,7 +96,7 @@ class OrgInstructorFactory(UserFactory):
"""
"""
last_name
=
"Org-Instructor"
last_name
=
"Org-Instructor"
@post_generation
@
factory.
post_generation
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
if
extracted
is
None
:
raise
ValueError
(
"Must specify a course location for an org-instructor user"
)
raise
ValueError
(
"Must specify a course location for an org-instructor user"
)
...
@@ -109,7 +109,7 @@ class GlobalStaffFactory(UserFactory):
...
@@ -109,7 +109,7 @@ class GlobalStaffFactory(UserFactory):
"""
"""
last_name
=
"GlobalStaff"
last_name
=
"GlobalStaff"
@post_generation
@
factory.
post_generation
def
set_staff
(
self
,
create
,
extracted
,
**
kwargs
):
def
set_staff
(
self
,
create
,
extracted
,
**
kwargs
):
GlobalStaff
()
.
add_users
(
self
)
GlobalStaff
()
.
add_users
(
self
)
...
@@ -118,7 +118,7 @@ class StudentModuleFactory(DjangoModelFactory):
...
@@ -118,7 +118,7 @@ class StudentModuleFactory(DjangoModelFactory):
FACTORY_FOR
=
StudentModule
FACTORY_FOR
=
StudentModule
module_type
=
"problem"
module_type
=
"problem"
student
=
SubFactory
(
UserFactory
)
student
=
factory
.
SubFactory
(
UserFactory
)
course_id
=
"MITx/999/Robot_Super_Course"
course_id
=
"MITx/999/Robot_Super_Course"
state
=
None
state
=
None
grade
=
None
grade
=
None
...
@@ -139,7 +139,7 @@ class StudentPrefsFactory(DjangoModelFactory):
...
@@ -139,7 +139,7 @@ class StudentPrefsFactory(DjangoModelFactory):
field_name
=
'existing_field'
field_name
=
'existing_field'
value
=
json
.
dumps
(
'old_value'
)
value
=
json
.
dumps
(
'old_value'
)
student
=
SubFactory
(
UserFactory
)
student
=
factory
.
SubFactory
(
UserFactory
)
module_type
=
'MockProblemModule'
module_type
=
'MockProblemModule'
...
@@ -148,4 +148,4 @@ class StudentInfoFactory(DjangoModelFactory):
...
@@ -148,4 +148,4 @@ class StudentInfoFactory(DjangoModelFactory):
field_name
=
'existing_field'
field_name
=
'existing_field'
value
=
json
.
dumps
(
'old_value'
)
value
=
json
.
dumps
(
'old_value'
)
student
=
SubFactory
(
UserFactory
)
student
=
factory
.
SubFactory
(
UserFactory
)
lms/djangoapps/django_comment_client/tests/factories.py
View file @
effee03b
from
factory
import
DjangoModelFactory
from
factory
.django
import
DjangoModelFactory
from
django_comment_common.models
import
Role
,
Permission
from
django_comment_common.models
import
Role
,
Permission
...
...
lms/djangoapps/instructor_task/tests/factories.py
View file @
effee03b
import
json
import
json
from
factory
import
DjangoModelFactory
,
SubFactory
import
factory
from
factory.django
import
DjangoModelFactory
from
student.tests.factories
import
UserFactory
as
StudentUserFactory
from
student.tests.factories
import
UserFactory
as
StudentUserFactory
from
instructor_task.models
import
InstructorTask
from
instructor_task.models
import
InstructorTask
from
celery.states
import
PENDING
from
celery.states
import
PENDING
...
@@ -16,4 +17,4 @@ class InstructorTaskFactory(DjangoModelFactory):
...
@@ -16,4 +17,4 @@ class InstructorTaskFactory(DjangoModelFactory):
task_id
=
None
task_id
=
None
task_state
=
PENDING
task_state
=
PENDING
task_output
=
None
task_output
=
None
requester
=
SubFactory
(
StudentUserFactory
)
requester
=
factory
.
SubFactory
(
StudentUserFactory
)
lms/djangoapps/licenses/tests.py
View file @
effee03b
...
@@ -5,7 +5,8 @@ import json
...
@@ -5,7 +5,8 @@ import json
from
uuid
import
uuid4
from
uuid
import
uuid4
from
random
import
shuffle
from
random
import
shuffle
from
tempfile
import
NamedTemporaryFile
from
tempfile
import
NamedTemporaryFile
from
factory
import
DjangoModelFactory
,
SubFactory
import
factory
from
factory.django
import
DjangoModelFactory
from
django.test
import
TestCase
from
django.test
import
TestCase
from
django.test.client
import
Client
from
django.test.client
import
Client
...
@@ -51,7 +52,7 @@ class UserLicenseFactory(DjangoModelFactory):
...
@@ -51,7 +52,7 @@ class UserLicenseFactory(DjangoModelFactory):
FACTORY_FOR
=
UserLicense
FACTORY_FOR
=
UserLicense
user
=
None
user
=
None
software
=
SubFactory
(
CourseSoftwareFactory
)
software
=
factory
.
SubFactory
(
CourseSoftwareFactory
)
serial
=
SERIAL_1
serial
=
SERIAL_1
...
...
lms/djangoapps/user_api/tests/factories.py
View file @
effee03b
from
factory
import
DjangoModelFactory
from
factory
.django
import
DjangoModelFactory
from
user_api.models
import
UserPreference
from
user_api.models
import
UserPreference
...
...
requirements/edx/base.txt
View file @
effee03b
...
@@ -92,7 +92,7 @@ transifex-client==0.9.1
...
@@ -92,7 +92,7 @@ transifex-client==0.9.1
# Used for testing
# Used for testing
coverage==3.7
coverage==3.7
ddt==0.4.0
ddt==0.4.0
factory_boy==2.
0.2
factory_boy==2.
2.1
mock==1.0.1
mock==1.0.1
nosexcover==1.0.7
nosexcover==1.0.7
pep8==1.4.5
pep8==1.4.5
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment