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

This commit is contained in:
Adam Palay
2013-07-08 14:47:55 -04:00
parent 3b662ee063
commit d056c8a8f2
4 changed files with 38 additions and 36 deletions

View File

@@ -1,4 +1,6 @@
"""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):
{"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):
{"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)

View File

@@ -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

View File

@@ -1,4 +1,6 @@
"""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):
{"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):
{"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"])

View File

@@ -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