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
3b657d6d
Commit
3b657d6d
authored
May 24, 2013
by
Brian Wilson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Disable randomized-problem test until bug-fix is merged in.
parent
9c1881e5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
68 deletions
+58
-68
lms/djangoapps/courseware/tests/test_tabs.py
+42
-44
lms/djangoapps/courseware/tests/test_task_queue.py
+2
-2
lms/djangoapps/courseware/tests/test_tasks.py
+14
-22
No files found.
lms/djangoapps/courseware/tests/test_tabs.py
View file @
3b657d6d
...
...
@@ -11,21 +11,22 @@ from courseware.tests.tests import TEST_DATA_MONGO_MODULESTORE
from
xmodule.modulestore.tests.django_utils
import
ModuleStoreTestCase
from
xmodule.modulestore.tests.factories
import
CourseFactory
class
ProgressTestCase
(
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
mockuser1
=
MagicMock
()
self
.
mockuser0
=
MagicMock
()
self
.
course
=
MagicMock
()
self
.
mockuser1
.
is_authenticated
.
return_value
=
True
self
.
mockuser0
.
is_authenticated
.
return_value
=
False
self
.
course
.
id
=
'edX/full/6.002_Spring_2012'
self
.
tab
=
{
'name'
:
'same'
}
self
.
active_page1
=
'progress'
self
.
active_page0
=
'stagnation'
self
.
mockuser1
=
MagicMock
()
self
.
mockuser0
=
MagicMock
()
self
.
course
=
MagicMock
()
self
.
mockuser1
.
is_authenticated
.
return_value
=
True
self
.
mockuser0
.
is_authenticated
.
return_value
=
False
self
.
course
.
id
=
'edX/full/6.002_Spring_2012'
self
.
tab
=
{
'name'
:
'same'
}
self
.
active_page1
=
'progress'
self
.
active_page0
=
'stagnation'
def
test_progress
(
self
):
def
test_progress
(
self
):
self
.
assertEqual
(
tabs
.
_progress
(
self
.
tab
,
self
.
mockuser0
,
self
.
course
,
self
.
active_page0
),
[])
...
...
@@ -34,8 +35,8 @@ class ProgressTestCase(TestCase):
self
.
active_page1
)[
0
]
.
name
,
'same'
)
self
.
assertEqual
(
tabs
.
_progress
(
self
.
tab
,
self
.
mockuser1
,
self
.
course
,
self
.
active_page1
)[
0
]
.
link
,
reverse
(
'progress'
,
args
=
[
self
.
course
.
id
]))
self
.
active_page1
)[
0
]
.
link
,
reverse
(
'progress'
,
args
=
[
self
.
course
.
id
]))
self
.
assertEqual
(
tabs
.
_progress
(
self
.
tab
,
self
.
mockuser1
,
self
.
course
,
self
.
active_page0
)[
0
]
.
is_active
,
False
)
...
...
@@ -63,15 +64,15 @@ class WikiTestCase(TestCase):
'same'
)
self
.
assertEqual
(
tabs
.
_wiki
(
self
.
tab
,
self
.
user
,
self
.
course
,
self
.
active_page1
)[
0
]
.
link
,
self
.
course
,
self
.
active_page1
)[
0
]
.
link
,
reverse
(
'course_wiki'
,
args
=
[
self
.
course
.
id
]))
self
.
assertEqual
(
tabs
.
_wiki
(
self
.
tab
,
self
.
user
,
self
.
course
,
self
.
active_page1
)[
0
]
.
is_active
,
self
.
course
,
self
.
active_page1
)[
0
]
.
is_active
,
True
)
self
.
assertEqual
(
tabs
.
_wiki
(
self
.
tab
,
self
.
user
,
self
.
course
,
self
.
active_page0
)[
0
]
.
is_active
,
self
.
course
,
self
.
active_page0
)[
0
]
.
is_active
,
False
)
@override_settings
(
WIKI_ENABLED
=
False
)
...
...
@@ -129,14 +130,13 @@ class StaticTabTestCase(TestCase):
self
.
assertEqual
(
tabs
.
_static_tab
(
self
.
tabby
,
self
.
user
,
self
.
course
,
self
.
active_page1
)[
0
]
.
link
,
reverse
(
'static_tab'
,
args
=
[
self
.
course
.
id
,
self
.
tabby
[
'url_slug'
]]))
reverse
(
'static_tab'
,
args
=
[
self
.
course
.
id
,
self
.
tabby
[
'url_slug'
]]))
self
.
assertEqual
(
tabs
.
_static_tab
(
self
.
tabby
,
self
.
user
,
self
.
course
,
self
.
active_page1
)[
0
]
.
is_active
,
True
)
self
.
assertEqual
(
tabs
.
_static_tab
(
self
.
tabby
,
self
.
user
,
self
.
course
,
self
.
active_page0
)[
0
]
.
is_active
,
False
)
...
...
@@ -183,7 +183,7 @@ class TextbooksTestCase(TestCase):
self
.
assertEqual
(
tabs
.
_textbooks
(
self
.
tab
,
self
.
mockuser1
,
self
.
course
,
self
.
active_page1
)[
1
]
.
name
,
'Topology'
)
'Topology'
)
self
.
assertEqual
(
tabs
.
_textbooks
(
self
.
tab
,
self
.
mockuser1
,
self
.
course
,
self
.
active_page1
)[
1
]
.
link
,
...
...
@@ -206,6 +206,7 @@ class TextbooksTestCase(TestCase):
self
.
assertEqual
(
tabs
.
_textbooks
(
self
.
tab
,
self
.
mockuser0
,
self
.
course
,
self
.
active_pageX
),
[])
class
KeyCheckerTestCase
(
TestCase
):
def
setUp
(
self
):
...
...
@@ -223,39 +224,36 @@ class KeyCheckerTestCase(TestCase):
class
NullValidatorTestCase
(
TestCase
):
def
setUp
(
self
):
self
.
d
=
{}
def
setUp
(
self
):
def
test_null_validator
(
self
):
self
.
dummy
=
{}
self
.
assertIsNone
(
tabs
.
null_validator
(
self
.
d
))
def
test_null_validator
(
self
):
self
.
assertIsNone
(
tabs
.
null_validator
(
self
.
dummy
))
class
ValidateTabsTestCase
(
TestCase
):
def
setUp
(
self
):
self
.
courses
=
[
MagicMock
()
for
i
in
range
(
0
,
5
)]
self
.
courses
=
[
MagicMock
()
for
i
in
range
(
0
,
5
)]
self
.
courses
[
0
]
.
tabs
=
None
self
.
courses
[
1
]
.
tabs
=
[{
'type'
:
'courseware'
},
{
'type'
:
'fax'
}]
self
.
courses
[
2
]
.
tabs
=
[{
'type'
:
'shadow'
},
{
'type'
:
'course_info'
}]
self
.
courses
[
1
]
.
tabs
=
[{
'type'
:
'courseware'
},
{
'type'
:
'fax'
}]
self
.
courses
[
3
]
.
tabs
=
[{
'type'
:
'courseware'
},{
'type'
:
'course_info'
,
'name'
:
'alice'
},
{
'type'
:
'wiki'
,
'name'
:
'alice'
},
{
'type'
:
'discussion'
,
'name'
:
'alice'
},
{
'type'
:
'external_link'
,
'name'
:
'alice'
,
'link'
:
'blink'
},
{
'type'
:
'textbooks'
},
{
'type'
:
'progress'
,
'name'
:
'alice'
},
{
'type'
:
'static_tab'
,
'name'
:
'alice'
,
'url_slug'
:
'schlug'
},
{
'type'
:
'staff_grading'
}]
self
.
courses
[
2
]
.
tabs
=
[{
'type'
:
'shadow'
},
{
'type'
:
'course_info'
}]
self
.
courses
[
4
]
.
tabs
=
[{
'type'
:
'courseware'
},{
'type'
:
'course_info'
},
{
'type'
:
'flying'
}]
self
.
courses
[
3
]
.
tabs
=
[{
'type'
:
'courseware'
},
{
'type'
:
'course_info'
,
'name'
:
'alice'
},
{
'type'
:
'wiki'
,
'name'
:
'alice'
},
{
'type'
:
'discussion'
,
'name'
:
'alice'
},
{
'type'
:
'external_link'
,
'name'
:
'alice'
,
'link'
:
'blink'
},
{
'type'
:
'textbooks'
},
{
'type'
:
'progress'
,
'name'
:
'alice'
},
{
'type'
:
'static_tab'
,
'name'
:
'alice'
,
'url_slug'
:
'schlug'
},
{
'type'
:
'staff_grading'
}]
self
.
courses
[
4
]
.
tabs
=
[{
'type'
:
'courseware'
},
{
'type'
:
'course_info'
},
{
'type'
:
'flying'
}]
def
test_validate_tabs
(
self
):
self
.
assertIsNone
(
tabs
.
validate_tabs
(
self
.
courses
[
0
]))
self
.
assertRaises
(
tabs
.
InvalidTabsException
,
tabs
.
validate_tabs
,
self
.
courses
[
1
])
self
.
assertRaises
(
tabs
.
InvalidTabsException
,
tabs
.
validate_tabs
,
self
.
courses
[
2
])
...
...
@@ -268,15 +266,15 @@ class DiscussionLinkTestCase(ModuleStoreTestCase):
def
setUp
(
self
):
self
.
tabs_with_discussion
=
[
{
'type'
:
'courseware'
},
{
'type'
:
'course_info'
},
{
'type'
:
'discussion'
},
{
'type'
:
'textbooks'
},
{
'type'
:
'courseware'
},
{
'type'
:
'course_info'
},
{
'type'
:
'discussion'
},
{
'type'
:
'textbooks'
},
]
self
.
tabs_without_discussion
=
[
{
'type'
:
'courseware'
},
{
'type'
:
'course_info'
},
{
'type'
:
'textbooks'
},
{
'type'
:
'courseware'
},
{
'type'
:
'course_info'
},
{
'type'
:
'textbooks'
},
]
@staticmethod
...
...
lms/djangoapps/courseware/tests/test_task_queue.py
View file @
3b657d6d
...
...
@@ -12,10 +12,10 @@ from django.test.testcases import TestCase
from
xmodule.modulestore.exceptions
import
ItemNotFoundError
from
courseware.tests.factories
import
UserFactory
,
CourseTaskLogFactory
from
courseware.task_queue
import
(
get_running_course_tasks
,
from
courseware.task_queue
import
(
get_running_course_tasks
,
course_task_log_status
,
AlreadyRunningError
,
submit_regrade_problem_for_all_students
,
submit_regrade_problem_for_all_students
,
submit_regrade_problem_for_student
,
submit_reset_problem_attempts_for_all_students
,
submit_delete_problem_state_for_all_students
)
...
...
lms/djangoapps/courseware/tests/test_tasks.py
View file @
3b657d6d
...
...
@@ -5,14 +5,13 @@ import logging
import
json
from
mock
import
Mock
,
patch
import
textwrap
import
random
from
django.contrib.auth.models
import
User
from
django.core.urlresolvers
import
reverse
from
django.test.utils
import
override_settings
from
capa.tests.response_xml_factory
import
(
OptionResponseXMLFactory
,
CodeResponseXMLFactory
,
from
capa.tests.response_xml_factory
import
(
OptionResponseXMLFactory
,
CodeResponseXMLFactory
,
CustomResponseXMLFactory
)
from
xmodule.modulestore.django
import
modulestore
from
xmodule.modulestore.tests.factories
import
CourseFactory
,
ItemFactory
...
...
@@ -21,7 +20,7 @@ from xmodule.modulestore.exceptions import ItemNotFoundError
from
student.tests.factories
import
CourseEnrollmentFactory
,
UserFactory
,
AdminFactory
from
courseware.model_data
import
StudentModule
from
courseware.task_queue
import
(
submit_regrade_problem_for_all_students
,
from
courseware.task_queue
import
(
submit_regrade_problem_for_all_students
,
submit_regrade_problem_for_student
,
course_task_log_status
,
submit_reset_problem_attempts_for_all_students
,
...
...
@@ -69,12 +68,8 @@ class TestRegradingBase(LoginEnrollmentTestCase, ModuleStoreTestCase):
def
get_user_email
(
username
):
return
'{0}@test.com'
.
format
(
username
)
@staticmethod
def
get_user_password
(
username
):
return
'test'
def
login_username
(
self
,
username
):
self
.
login
(
TestRegradingBase
.
get_user_email
(
username
),
TestRegradingBase
.
get_user_password
(
username
)
)
self
.
login
(
TestRegradingBase
.
get_user_email
(
username
),
"test"
)
self
.
current_user
=
username
def
_create_user
(
self
,
username
,
is_staff
=
False
):
...
...
@@ -139,10 +134,9 @@ class TestRegradingBase(LoginEnrollmentTestCase, ModuleStoreTestCase):
self
.
login_username
(
username
)
# make ajax call:
modx_url
=
reverse
(
'modx_dispatch'
,
kwargs
=
{
'course_id'
:
self
.
course
.
id
,
'location'
:
TestRegrading
.
problem_location
(
problem_url_name
),
'dispatch'
:
'problem_get'
,
})
kwargs
=
{
'course_id'
:
self
.
course
.
id
,
'location'
:
TestRegrading
.
problem_location
(
problem_url_name
),
'dispatch'
:
'problem_get'
,
})
resp
=
self
.
client
.
post
(
modx_url
,
{})
return
resp
...
...
@@ -163,10 +157,9 @@ class TestRegradingBase(LoginEnrollmentTestCase, ModuleStoreTestCase):
self
.
login_username
(
username
)
# make ajax call:
modx_url
=
reverse
(
'modx_dispatch'
,
kwargs
=
{
'course_id'
:
self
.
course
.
id
,
'location'
:
TestRegrading
.
problem_location
(
problem_url_name
),
'dispatch'
:
'problem_check'
,
})
kwargs
=
{
'course_id'
:
self
.
course
.
id
,
'location'
:
TestRegrading
.
problem_location
(
problem_url_name
),
'dispatch'
:
'problem_check'
,
})
resp
=
self
.
client
.
post
(
modx_url
,
{
get_input_id
(
'2_1'
):
responses
[
0
],
...
...
@@ -196,10 +189,9 @@ class TestRegradingBase(LoginEnrollmentTestCase, ModuleStoreTestCase):
def
show_correct_answer
(
self
,
problem_url_name
):
modx_url
=
reverse
(
'modx_dispatch'
,
kwargs
=
{
'course_id'
:
self
.
course
.
id
,
'location'
:
TestRegradingBase
.
problem_location
(
problem_url_name
),
'dispatch'
:
'problem_show'
,
})
kwargs
=
{
'course_id'
:
self
.
course
.
id
,
'location'
:
TestRegradingBase
.
problem_location
(
problem_url_name
),
'dispatch'
:
'problem_show'
,
})
return
self
.
client
.
post
(
modx_url
,
{})
def
get_student_module
(
self
,
username
,
descriptor
):
...
...
@@ -388,7 +380,7 @@ class TestRegrading(TestRegradingBase):
data
=
problem_xml
,
metadata
=
{
"rerandomize"
:
"per_student"
})
def
test_regrading_randomized_problem
(
self
):
def
WAITING_FOR_SAFEEXEC_FIX_
test_regrading_randomized_problem
(
self
):
"""Run regrade scenario on custom problem that uses randomize"""
# First define the custom response problem:
problem_url_name
=
'H1P1'
...
...
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