Skip to content

Commit

Permalink
Add ID to discussion data openedx#1728 (openedx#1809)
Browse files Browse the repository at this point in the history
* Add ID to discussion data openedx#1728

* Add ID to discussion data openedx#1728

* Add ID to discussion data openedx#1728
  • Loading branch information
takaki-dts authored Apr 24, 2017
1 parent a8ab139 commit 57f4884
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 1 deletion.
65 changes: 65 additions & 0 deletions lms/djangoapps/ga_operation/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -582,3 +582,68 @@ def test_error(self, mock_call_command, mock_log):
self.assertEqual(content[RESPONSE_FIELD_ID], 'pdf error')
mock_log.exception.assert_called_with('Failure to publish certificates from create_certs command.')
self._assert_audit_log(mock_log)


@ddt.ddt
@override_settings(GA_OPERATION_MONGO={
"comment": {
"collection": "contents",
"db": "cs_comments_service",
"host": ["localhost"],
"password": "password",
"port": 27017,
"user": "cs_comments_service"
}
})
class DiscussionDataDownloadTest(ApiTestBase):

@property
def url(self):
return 'discussion_data_download'

@patch('ga_operation.views.api.log')
def test_success(self, mock_log):

_url = reverse(self.url)
data = {
'course_id': 'course-v1:org+course+run',
}
response = self.client.get(_url, data)
self.assertEqual(response.status_code, 200)
content = json.loads(response.content)

# nodate case
# If you want to do with data, rewrite it
self.assertEqual(content,[])

mock_log.exception.assert_not_called()
self._assert_audit_log(mock_log)

@patch('ga_operation.views.api.log')
def test_no_course_id(self, mock_log):
_url = reverse(self.url)
response = self.client.get(_url)

self.assertEqual(response.status_code, 400)
content = json.loads(response.content)
self.assertEqual(content[RESPONSE_FIELD_ID], u'入力したフォームの内容が不正です。')
self.assertEqual(content['course_id'], [u'This field is required.'])

mock_log.info.assert_called_with({'course_id': [u'This field is required.'], 'right_content_response':u'入力したフォームの内容が不正です。'})
mock_log.exception.assert_not_called()

@patch('ga_operation.views.api.log')
@patch('ga_operation.views.api.CommentStore')
def test_error(self, mock_CommentStore, mock_log):
mock_CommentStore().get_documents.side_effect = self.exception

_url = reverse(self.url)
data = {
'course_id': 'course-v1:org+course+run',
}

response = self.client.get(_url, data)

self.assertEqual(response.status_code, 400)
mock_log.exception.assert_called_with('Caught the exception: Exception')
self._assert_audit_log(mock_log)
2 changes: 1 addition & 1 deletion lms/djangoapps/ga_operation/views/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ def discussion_data_download(request):
return JsonResponse(f.errors, status=400)
course_id = f.cleaned_data['course_id']
try:
all_documents = CommentStore().get_documents(dict(course_id=course_id))
all_documents = CommentStore().get_documents(dict(course_id=course_id), excludes=None)
except Exception as e:
log.exception('Caught the exception: ' + type(e).__name__)
return HttpResponseBadRequest(u'{}'.format(e))
Expand Down

0 comments on commit 57f4884

Please sign in to comment.