Commit f25a7870 by David Baumgold

fix tests

parent 2f3d2eca
# pylint: disable=missing-docstring,maybe-no-member # pylint: disable=missing-docstring,maybe-no-member
from datetime import datetime from track import views
from mock import patch, sentinel
from mock import patch from freezegun import freeze_time
from mock import sentinel
from pytz import UTC
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from track import views from datetime import datetime
expected_time = datetime(2013, 10, 3, 8, 24, 55)
class TestTrackViews(TestCase): class TestTrackViews(TestCase):
...@@ -21,12 +20,6 @@ class TestTrackViews(TestCase): ...@@ -21,12 +20,6 @@ class TestTrackViews(TestCase):
self.mock_tracker = patcher.start() self.mock_tracker = patcher.start()
self.addCleanup(patcher.stop) self.addCleanup(patcher.stop)
self._expected_timestamp = datetime.now(UTC)
self._datetime_patcher = patch('track.views.datetime')
self.addCleanup(self._datetime_patcher.stop)
mock_datetime_mod = self._datetime_patcher.start()
mock_datetime_mod.datetime.now.return_value = self._expected_timestamp # pylint: disable=maybe-no-member
self.path_with_course = '/courses/foo/bar/baz/xmod/' self.path_with_course = '/courses/foo/bar/baz/xmod/'
self.url_with_course = 'http://www.edx.org' + self.path_with_course self.url_with_course = 'http://www.edx.org' + self.path_with_course
...@@ -34,6 +27,7 @@ class TestTrackViews(TestCase): ...@@ -34,6 +27,7 @@ class TestTrackViews(TestCase):
sentinel.key: sentinel.value sentinel.key: sentinel.value
} }
@freeze_time(expected_time)
def test_user_track(self): def test_user_track(self):
request = self.request_factory.get('/event', { request = self.request_factory.get('/event', {
'page': self.url_with_course, 'page': self.url_with_course,
...@@ -51,7 +45,7 @@ class TestTrackViews(TestCase): ...@@ -51,7 +45,7 @@ class TestTrackViews(TestCase):
'event': '{}', 'event': '{}',
'agent': '', 'agent': '',
'page': self.url_with_course, 'page': self.url_with_course,
'time': self._expected_timestamp, 'time': expected_time,
'host': 'testserver', 'host': 'testserver',
'context': { 'context': {
'course_id': 'foo/bar/baz', 'course_id': 'foo/bar/baz',
...@@ -60,6 +54,7 @@ class TestTrackViews(TestCase): ...@@ -60,6 +54,7 @@ class TestTrackViews(TestCase):
} }
self.mock_tracker.send.assert_called_once_with(expected_event) self.mock_tracker.send.assert_called_once_with(expected_event)
@freeze_time(expected_time)
def test_server_track(self): def test_server_track(self):
request = self.request_factory.get(self.path_with_course) request = self.request_factory.get(self.path_with_course)
views.server_track(request, str(sentinel.event_type), '{}') views.server_track(request, str(sentinel.event_type), '{}')
...@@ -72,12 +67,13 @@ class TestTrackViews(TestCase): ...@@ -72,12 +67,13 @@ class TestTrackViews(TestCase):
'event': '{}', 'event': '{}',
'agent': '', 'agent': '',
'page': None, 'page': None,
'time': self._expected_timestamp, 'time': expected_time,
'host': 'testserver', 'host': 'testserver',
'context': {}, 'context': {},
} }
self.mock_tracker.send.assert_called_once_with(expected_event) self.mock_tracker.send.assert_called_once_with(expected_event)
@freeze_time(expected_time)
def test_server_track_with_no_request(self): def test_server_track_with_no_request(self):
request = None request = None
views.server_track(request, str(sentinel.event_type), '{}') views.server_track(request, str(sentinel.event_type), '{}')
...@@ -90,12 +86,13 @@ class TestTrackViews(TestCase): ...@@ -90,12 +86,13 @@ class TestTrackViews(TestCase):
'event': '{}', 'event': '{}',
'agent': '', 'agent': '',
'page': None, 'page': None,
'time': self._expected_timestamp, 'time': expected_time,
'host': '', 'host': '',
'context': {}, 'context': {},
} }
self.mock_tracker.send.assert_called_once_with(expected_event) self.mock_tracker.send.assert_called_once_with(expected_event)
@freeze_time(expected_time)
def test_task_track(self): def test_task_track(self):
request_info = { request_info = {
'username': 'anonymous', 'username': 'anonymous',
...@@ -120,7 +117,7 @@ class TestTrackViews(TestCase): ...@@ -120,7 +117,7 @@ class TestTrackViews(TestCase):
'event': expected_event_data, 'event': expected_event_data,
'agent': 'agent', 'agent': 'agent',
'page': None, 'page': None,
'time': self._expected_timestamp, 'time': expected_time,
'host': 'testserver', 'host': 'testserver',
'context': { 'context': {
'course_id': '', 'course_id': '',
......
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