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
ef4220ee
Commit
ef4220ee
authored
Aug 05, 2013
by
David Baumgold
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add unit tests to exercise common_exceptions_400 decorator
parent
7b01147c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
2 deletions
+59
-2
lms/djangoapps/instructor/tests/test_api.py
+59
-2
No files found.
lms/djangoapps/instructor/tests/test_api.py
View file @
ef4220ee
"""
"""
Unit tests for instructor.api methods.
Unit tests for instructor.api methods.
"""
"""
import
unittest
import
json
import
json
from
urllib
import
quote
from
urllib
import
quote
from
django.test
import
TestCase
from
django.test
import
TestCase
...
@@ -9,6 +9,7 @@ from nose.tools import raises
...
@@ -9,6 +9,7 @@ from nose.tools import raises
from
mock
import
Mock
from
mock
import
Mock
from
django.test.utils
import
override_settings
from
django.test.utils
import
override_settings
from
django.core.urlresolvers
import
reverse
from
django.core.urlresolvers
import
reverse
from
django.http
import
HttpRequest
,
HttpResponse
from
django.contrib.auth.models
import
User
from
django.contrib.auth.models
import
User
from
courseware.tests.modulestore_config
import
TEST_DATA_MONGO_MODULESTORE
from
courseware.tests.modulestore_config
import
TEST_DATA_MONGO_MODULESTORE
...
@@ -21,7 +22,63 @@ from student.models import CourseEnrollment
...
@@ -21,7 +22,63 @@ from student.models import CourseEnrollment
from
courseware.models
import
StudentModule
from
courseware.models
import
StudentModule
from
instructor.access
import
allow_access
from
instructor.access
import
allow_access
from
instructor.views.api
import
_split_input_list
,
_msk_from_problem_urlname
from
instructor.views.api
import
(
_split_input_list
,
_msk_from_problem_urlname
,
common_exceptions_400
)
from
instructor_task.api_helper
import
AlreadyRunningError
@common_exceptions_400
def
view_success
(
request
):
"A dummy view for testing that returns a simple HTTP response"
return
HttpResponse
(
'success'
)
@common_exceptions_400
def
view_user_doesnotexist
(
request
):
"A dummy view that raises a User.DoesNotExist exception"
raise
User
.
DoesNotExist
()
@common_exceptions_400
def
view_alreadyrunningerror
(
request
):
"A dummy view that raises an AlreadyRunningError exception"
raise
AlreadyRunningError
()
class
TestCommonExceptions400
(
unittest
.
TestCase
):
def
setUp
(
self
):
self
.
request
=
Mock
(
spec
=
HttpRequest
)
self
.
request
.
META
=
{}
def
test_happy_path
(
self
):
resp
=
view_success
(
self
.
request
)
self
.
assertEqual
(
resp
.
status_code
,
200
)
def
test_user_doesnotexist
(
self
):
self
.
request
.
is_ajax
.
return_value
=
False
resp
=
view_user_doesnotexist
(
self
.
request
)
self
.
assertEqual
(
resp
.
status_code
,
400
)
self
.
assertIn
(
"User does not exist"
,
resp
.
content
)
def
test_user_doesnotexist_ajax
(
self
):
self
.
request
.
is_ajax
.
return_value
=
True
resp
=
view_user_doesnotexist
(
self
.
request
)
self
.
assertEqual
(
resp
.
status_code
,
400
)
result
=
json
.
loads
(
resp
.
content
)
self
.
assertIn
(
"User does not exist"
,
result
[
"error"
])
def
test_alreadyrunningerror
(
self
):
self
.
request
.
is_ajax
.
return_value
=
False
resp
=
view_alreadyrunningerror
(
self
.
request
)
self
.
assertEqual
(
resp
.
status_code
,
400
)
self
.
assertIn
(
"Task is already running"
,
resp
.
content
)
def
test_alreadyrunningerror_ajax
(
self
):
self
.
request
.
is_ajax
.
return_value
=
True
resp
=
view_alreadyrunningerror
(
self
.
request
)
self
.
assertEqual
(
resp
.
status_code
,
400
)
result
=
json
.
loads
(
resp
.
content
)
self
.
assertIn
(
"Task is already running"
,
result
[
"error"
])
@override_settings
(
MODULESTORE
=
TEST_DATA_MONGO_MODULESTORE
)
@override_settings
(
MODULESTORE
=
TEST_DATA_MONGO_MODULESTORE
)
...
...
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