2023-08-14 03:31:33 +00:00

70 lines
2.0 KiB
Python

import requests_mock
from django.test.utils import override_settings
from allianceauth.analytics.tasks import (
analytics_event,
send_ga_tracking_celery_event)
from allianceauth.utils.testing import NoSocketsTestCase
GOOGLE_ANALYTICS_DEBUG_URL = 'https://www.google-analytics.com/debug/mp/collect'
@override_settings(CELERY_ALWAYS_EAGER=True, CELERY_EAGER_PROPAGATES_EXCEPTIONS=True)
@requests_mock.Mocker()
class TestAnalyticsTasks(NoSocketsTestCase):
def test_analytics_event(self, requests_mocker):
requests_mocker.register_uri('POST', GOOGLE_ANALYTICS_DEBUG_URL)
analytics_event(
namespace='allianceauth.analytics',
task='send_tests',
label='test',
value=1,
result="Success",
event_type='Stats')
def test_send_ga_tracking_celery_event_sent(self, requests_mocker):
# given
requests_mocker.register_uri('POST', GOOGLE_ANALYTICS_DEBUG_URL)
token = 'G-6LYSMYK8DE'
secret = 'KLlpjLZ-SRGozS5f5wb_kw',
category = 'test'
action = 'test'
label = 'test'
value = '1'
# when
task = send_ga_tracking_celery_event(
token,
secret,
category,
action,
label,
value)
# then
self.assertEqual(task, 200)
def test_send_ga_tracking_celery_event_success(self, requests_mocker):
# given
requests_mocker.register_uri(
'POST',
GOOGLE_ANALYTICS_DEBUG_URL,
json={"validationMessages": []}
)
token = 'G-6LYSMYK8DE'
secret = 'KLlpjLZ-SRGozS5f5wb_kw',
category = 'test'
action = 'test'
label = 'test'
value = '1'
# when
task = send_ga_tracking_celery_event(
token,
secret,
category,
action,
label,
value)
# then
self.assertTrue(task, 200)