Commit d056c8a8 by Adam Palay

replace test setting changes with test-specific mock.patch.dicts

parent 3b662ee0
"""Tests for CMS's requests to logs""" """Tests for CMS's requests to logs"""
import mock
from django.test import TestCase from django.test import TestCase
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from contentstore.views.requests import event as cms_user_track from contentstore.views.requests import event as cms_user_track
...@@ -18,9 +20,10 @@ class CMSLogTest(TestCase): ...@@ -18,9 +20,10 @@ class CMSLogTest(TestCase):
{"event": "my_event", "event_type": "my_event_type", "page": "my_page"}, {"event": "my_event", "event_type": "my_event_type", "page": "my_page"},
{"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"} {"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"}
] ]
for request_params in requests: with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_SQL_TRACKING_LOGS': True}):
response = self.client.post(reverse(cms_user_track), request_params) for request_params in requests:
self.assertEqual(response.status_code, 204) response = self.client.post(reverse(cms_user_track), request_params)
self.assertEqual(response.status_code, 204)
def test_get_answers_to_log(self): def test_get_answers_to_log(self):
""" """
...@@ -31,6 +34,7 @@ class CMSLogTest(TestCase): ...@@ -31,6 +34,7 @@ class CMSLogTest(TestCase):
{"event": "my_event", "event_type": "my_event_type", "page": "my_page"}, {"event": "my_event", "event_type": "my_event_type", "page": "my_page"},
{"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"} {"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"}
] ]
for request_params in requests: with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_SQL_TRACKING_LOGS': True}):
response = self.client.get(reverse(cms_user_track), request_params) for request_params in requests:
self.assertEqual(response.status_code, 204) response = self.client.get(reverse(cms_user_track), request_params)
self.assertEqual(response.status_code, 204)
...@@ -141,8 +141,5 @@ MITX_FEATURES['STUDIO_NPS_SURVEY'] = False ...@@ -141,8 +141,5 @@ MITX_FEATURES['STUDIO_NPS_SURVEY'] = False
MITX_FEATURES['ENABLE_SERVICE_STATUS'] = True MITX_FEATURES['ENABLE_SERVICE_STATUS'] = True
# Enabling SQL tracking logs for testing on common/djangoapps/track
MITX_FEATURES['ENABLE_SQL_TRACKING_LOGS'] = True
# This is to disable a test under the common directory that will not pass when run under CMS # This is to disable a test under the common directory that will not pass when run under CMS
MITX_FEATURES['DISABLE_PASSWORD_RESET_EMAIL_TEST'] = True MITX_FEATURES['DISABLE_PASSWORD_RESET_EMAIL_TEST'] = True
"""Tests for student tracking""" """Tests for student tracking"""
import mock
from django.test import TestCase from django.test import TestCase
from django.core.urlresolvers import reverse, NoReverseMatch from django.core.urlresolvers import reverse, NoReverseMatch
from track.models import TrackingLog from track.models import TrackingLog
...@@ -20,18 +22,19 @@ class TrackingTest(TestCase): ...@@ -20,18 +22,19 @@ class TrackingTest(TestCase):
{"event": "my_event", "event_type": "my_event_type", "page": "my_page"}, {"event": "my_event", "event_type": "my_event_type", "page": "my_page"},
{"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"} {"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"}
] ]
for request_params in requests: with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_SQL_TRACKING_LOGS': True}):
try: # because /event maps to two different views in lms and cms, we're only going to test lms here for request_params in requests:
response = self.client.post(reverse(user_track), request_params) try: # because /event maps to two different views in lms and cms, we're only going to test lms here
except NoReverseMatch: response = self.client.post(reverse(user_track), request_params)
raise SkipTest() except NoReverseMatch:
self.assertEqual(response.status_code, 200) raise SkipTest()
self.assertEqual(response.content, 'success') self.assertEqual(response.status_code, 200)
tracking_logs = TrackingLog.objects.order_by('-dtcreated') self.assertEqual(response.content, 'success')
log = tracking_logs[0] tracking_logs = TrackingLog.objects.order_by('-dtcreated')
self.assertEqual(log.event, request_params["event"]) log = tracking_logs[0]
self.assertEqual(log.event_type, request_params["event_type"]) self.assertEqual(log.event, request_params["event"])
self.assertEqual(log.page, request_params["page"]) self.assertEqual(log.event_type, request_params["event_type"])
self.assertEqual(log.page, request_params["page"])
def test_get_answers_to_log(self): def test_get_answers_to_log(self):
""" """
...@@ -42,15 +45,16 @@ class TrackingTest(TestCase): ...@@ -42,15 +45,16 @@ class TrackingTest(TestCase):
{"event": "my_event", "event_type": "my_event_type", "page": "my_page"}, {"event": "my_event", "event_type": "my_event_type", "page": "my_page"},
{"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"} {"event": "{'json': 'object'}", "event_type": unichr(512), "page": "my_page"}
] ]
for request_params in requests: with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_SQL_TRACKING_LOGS': True}):
try: # because /event maps to two different views in lms and cms, we're only going to test lms here for request_params in requests:
response = self.client.get(reverse(user_track), request_params) try: # because /event maps to two different views in lms and cms, we're only going to test lms here
except NoReverseMatch: response = self.client.get(reverse(user_track), request_params)
raise SkipTest() except NoReverseMatch:
self.assertEqual(response.status_code, 200) raise SkipTest()
self.assertEqual(response.content, 'success') self.assertEqual(response.status_code, 200)
tracking_logs = TrackingLog.objects.order_by('-dtcreated') self.assertEqual(response.content, 'success')
log = tracking_logs[0] tracking_logs = TrackingLog.objects.order_by('-dtcreated')
self.assertEqual(log.event, request_params["event"]) log = tracking_logs[0]
self.assertEqual(log.event_type, request_params["event_type"]) self.assertEqual(log.event, request_params["event"])
self.assertEqual(log.page, request_params["page"]) self.assertEqual(log.event_type, request_params["event_type"])
self.assertEqual(log.page, request_params["page"])
...@@ -29,9 +29,6 @@ MITX_FEATURES['ENABLE_SERVICE_STATUS'] = True ...@@ -29,9 +29,6 @@ MITX_FEATURES['ENABLE_SERVICE_STATUS'] = True
MITX_FEATURES['ENABLE_HINTER_INSTRUCTOR_VIEW'] = True MITX_FEATURES['ENABLE_HINTER_INSTRUCTOR_VIEW'] = True
# Enabling SQL tracking logs for testing on common/djangoapps/track
MITX_FEATURES['ENABLE_SQL_TRACKING_LOGS'] = True
# Need wiki for courseware views to work. TODO (vshnayder): shouldn't need it. # Need wiki for courseware views to work. TODO (vshnayder): shouldn't need it.
WIKI_ENABLED = True WIKI_ENABLED = True
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment