Commit 2ee5aceb by Gabe Mulley

Change Django settings prefix to EVENT_TRACKING

This will prevent conflicts with the existing edx-platform settings.

Change-Id: I0ea1a2b19d1097963a9faead43b7aa0480c41ef2
parent 402d3e7a
...@@ -11,8 +11,9 @@ from eventtracking.tracker import Tracker ...@@ -11,8 +11,9 @@ from eventtracking.tracker import Tracker
from eventtracking.locator import ThreadLocalContextLocator from eventtracking.locator import ThreadLocalContextLocator
DJANGO_BACKEND_SETTING_NAME = 'TRACKING_BACKENDS' DJANGO_BACKEND_SETTING_NAME = 'EVENT_TRACKING_BACKENDS'
DJANGO_PROCESSOR_SETTING_NAME = 'TRACKING_PROCESSORS' DJANGO_PROCESSOR_SETTING_NAME = 'EVENT_TRACKING_PROCESSORS'
DJANGO_ENABLED_SETTING_NAME = 'EVENT_TRACKING_ENABLED'
class DjangoTracker(Tracker): class DjangoTracker(Tracker):
...@@ -28,12 +29,12 @@ class DjangoTracker(Tracker): ...@@ -28,12 +29,12 @@ class DjangoTracker(Tracker):
def create_backends_from_settings(self): def create_backends_from_settings(self):
""" """
Expects the Django setting "TRACKING_BACKENDS" to be defined and point Expects the Django setting "EVENT_TRACKING_BACKENDS" to be defined and point
to a dictionary of backend engine configurations. to a dictionary of backend engine configurations.
Example:: Example::
TRACKING_BACKENDS = { EVENT_TRACKING_BACKENDS = {
'default': { 'default': {
'ENGINE': 'some.arbitrary.Backend', 'ENGINE': 'some.arbitrary.Backend',
'OPTIONS': { 'OPTIONS': {
...@@ -87,12 +88,12 @@ class DjangoTracker(Tracker): ...@@ -87,12 +88,12 @@ class DjangoTracker(Tracker):
def create_processors_from_settings(self): def create_processors_from_settings(self):
""" """
Expects the Django setting "TRACKING_PROCESSORS" to be defined and Expects the Django setting "EVENT_TRACKING_PROCESSORS" to be defined and
point to a list of backend engine configurations. point to a list of backend engine configurations.
Example:: Example::
TRACKING_PROCESSORS = [ EVENT_TRACKING_PROCESSORS = [
{ {
'ENGINE': 'some.arbitrary.Processor' 'ENGINE': 'some.arbitrary.Processor'
}, },
...@@ -117,7 +118,7 @@ class DjangoTracker(Tracker): ...@@ -117,7 +118,7 @@ class DjangoTracker(Tracker):
def override_default_tracker(): def override_default_tracker():
"""Sets the default tracker to a DjangoTracker""" """Sets the default tracker to a DjangoTracker"""
if getattr(settings, 'TRACKING_ENABLED', False): if getattr(settings, DJANGO_ENABLED_SETTING_NAME, False):
tracker.register_tracker(DjangoTracker()) tracker.register_tracker(DjangoTracker())
......
...@@ -24,4 +24,4 @@ INSTALLED_APPS = [ ...@@ -24,4 +24,4 @@ INSTALLED_APPS = [
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
TRACKING_ENABLED = True EVENT_TRACKING_ENABLED = True
...@@ -21,7 +21,7 @@ class TestConfiguration(TestCase): ...@@ -21,7 +21,7 @@ class TestConfiguration(TestCase):
def setUp(self): def setUp(self):
self.tracker = tracker.get_tracker() self.tracker = tracker.get_tracker()
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
"fake": { "fake": {
'ENGINE': 'eventtracking.django.tests.test_configuration.TrivialFakeBackend' 'ENGINE': 'eventtracking.django.tests.test_configuration.TrivialFakeBackend'
} }
...@@ -35,7 +35,7 @@ class TestConfiguration(TestCase): ...@@ -35,7 +35,7 @@ class TestConfiguration(TestCase):
"""Reads the tracker configuration from the Django settings""" """Reads the tracker configuration from the Django settings"""
self.tracker = django.DjangoTracker() self.tracker = django.DjangoTracker()
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
"no_engine": { "no_engine": {
'OPTIONS': {} 'OPTIONS': {}
} }
...@@ -45,7 +45,7 @@ class TestConfiguration(TestCase): ...@@ -45,7 +45,7 @@ class TestConfiguration(TestCase):
with self.assertRaises(KeyError): with self.assertRaises(KeyError):
self.tracker.get_backend('no_engine') self.tracker.get_backend('no_engine')
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
"empty_engine": { "empty_engine": {
'ENGINE': '' 'ENGINE': ''
} }
...@@ -61,7 +61,7 @@ class TestConfiguration(TestCase): ...@@ -61,7 +61,7 @@ class TestConfiguration(TestCase):
with self.assertRaises(error): with self.assertRaises(error):
self.configure_tracker() self.configure_tracker()
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
"invalid_package": { "invalid_package": {
'ENGINE': 'foo.BarBackend' 'ENGINE': 'foo.BarBackend'
} }
...@@ -69,7 +69,7 @@ class TestConfiguration(TestCase): ...@@ -69,7 +69,7 @@ class TestConfiguration(TestCase):
def test_configure_invalid_package(self): def test_configure_invalid_package(self):
self.assert_fails_to_configure_with_error() self.assert_fails_to_configure_with_error()
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
"no_package_invalid_class": { "no_package_invalid_class": {
'ENGINE': 'BarBackend' 'ENGINE': 'BarBackend'
} }
...@@ -77,7 +77,7 @@ class TestConfiguration(TestCase): ...@@ -77,7 +77,7 @@ class TestConfiguration(TestCase):
def test_configure_no_package_invalid_class(self): def test_configure_no_package_invalid_class(self):
self.assert_fails_to_configure_with_error() self.assert_fails_to_configure_with_error()
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
"invalid_class": { "invalid_class": {
'ENGINE': 'eventtracking.django.tests.test_configuration.BarBackend' 'ENGINE': 'eventtracking.django.tests.test_configuration.BarBackend'
} }
...@@ -85,7 +85,7 @@ class TestConfiguration(TestCase): ...@@ -85,7 +85,7 @@ class TestConfiguration(TestCase):
def test_configure_invalid_class(self): def test_configure_invalid_class(self):
self.assert_fails_to_configure_with_error() self.assert_fails_to_configure_with_error()
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
'with_options': { 'with_options': {
'ENGINE': 'eventtracking.django.tests.test_configuration.FakeBackendWithOptions', 'ENGINE': 'eventtracking.django.tests.test_configuration.FakeBackendWithOptions',
'OPTIONS': { 'OPTIONS': {
...@@ -97,7 +97,7 @@ class TestConfiguration(TestCase): ...@@ -97,7 +97,7 @@ class TestConfiguration(TestCase):
self.configure_tracker() self.configure_tracker()
self.assertEquals(self.tracker.get_backend('with_options').option, sentinel.option_value) self.assertEquals(self.tracker.get_backend('with_options').option, sentinel.option_value)
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
'without_options': { 'without_options': {
'ENGINE': 'eventtracking.django.tests.test_configuration.FakeBackendWithOptions' 'ENGINE': 'eventtracking.django.tests.test_configuration.FakeBackendWithOptions'
} }
...@@ -106,7 +106,7 @@ class TestConfiguration(TestCase): ...@@ -106,7 +106,7 @@ class TestConfiguration(TestCase):
self.configure_tracker() self.configure_tracker()
self.assertEquals(self.tracker.get_backend('without_options').option, None) self.assertEquals(self.tracker.get_backend('without_options').option, None)
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
'extra_options': { 'extra_options': {
'ENGINE': 'eventtracking.django.tests.test_configuration.FakeBackendWithOptions', 'ENGINE': 'eventtracking.django.tests.test_configuration.FakeBackendWithOptions',
'OPTIONS': { 'OPTIONS': {
...@@ -119,7 +119,7 @@ class TestConfiguration(TestCase): ...@@ -119,7 +119,7 @@ class TestConfiguration(TestCase):
self.configure_tracker() self.configure_tracker()
self.assertEquals(self.tracker.get_backend('extra_options').option, sentinel.option_value) self.assertEquals(self.tracker.get_backend('extra_options').option, sentinel.option_value)
@override_settings(TRACKING_BACKENDS={ @override_settings(EVENT_TRACKING_BACKENDS={
'extra_options': { 'extra_options': {
'ENGINE': 'eventtracking.django.tests.test_configuration.NotABackend' 'ENGINE': 'eventtracking.django.tests.test_configuration.NotABackend'
} }
...@@ -127,17 +127,17 @@ class TestConfiguration(TestCase): ...@@ -127,17 +127,17 @@ class TestConfiguration(TestCase):
def test_configure_class_not_a_backend(self): def test_configure_class_not_a_backend(self):
self.assert_fails_to_configure_with_error() self.assert_fails_to_configure_with_error()
@override_settings(TRACKING_ENABLED=True) @override_settings(EVENT_TRACKING_ENABLED=True)
def test_overrides_default_tracker(self): def test_overrides_default_tracker(self):
django.override_default_tracker() django.override_default_tracker()
self.assertTrue(isinstance(tracker.get_tracker(), django.DjangoTracker)) self.assertTrue(isinstance(tracker.get_tracker(), django.DjangoTracker))
@override_settings(TRACKING_ENABLED=False) @override_settings(EVENT_TRACKING_ENABLED=False)
def test_leaves_default_tracker_alone(self): def test_leaves_default_tracker_alone(self):
django.override_default_tracker() django.override_default_tracker()
self.assertTrue(isinstance(tracker.get_tracker(), tracker.Tracker)) self.assertTrue(isinstance(tracker.get_tracker(), tracker.Tracker))
@override_settings(TRACKING_PROCESSORS=[ @override_settings(EVENT_TRACKING_PROCESSORS=[
{ {
'ENGINE': 'eventtracking.django.tests.test_configuration.NopProcessor' 'ENGINE': 'eventtracking.django.tests.test_configuration.NopProcessor'
} }
...@@ -147,7 +147,7 @@ class TestConfiguration(TestCase): ...@@ -147,7 +147,7 @@ class TestConfiguration(TestCase):
self.assertEquals(len(self.tracker.processors), 1) self.assertEquals(len(self.tracker.processors), 1)
self.assertTrue(isinstance(self.tracker.processors[0], NopProcessor)) self.assertTrue(isinstance(self.tracker.processors[0], NopProcessor))
@override_settings(TRACKING_PROCESSORS=[ @override_settings(EVENT_TRACKING_PROCESSORS=[
{} {}
]) ])
def test_missing_processor_engine(self): def test_missing_processor_engine(self):
......
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