diff --git a/src/strass/cspmailreports/tests.py b/src/strass/cspmailreports/tests.py index 53a8247da5d271e1b14fdde6fdefffab6cf55922..f178678b9193f30bc4799f8eec02b871ec7a9a56 100644 --- a/src/strass/cspmailreports/tests.py +++ b/src/strass/cspmailreports/tests.py @@ -1,24 +1,24 @@ import json import logging from typing import Dict -from django.core import mail -from django.test import override_settings -from django.urls import reverse, reverse_lazy +from django.core import mail +from django.test import TestCase, override_settings +from django.urls import reverse +from django.urls import reverse_lazy -from cspmailreports import apps -from cspmailreports.conf import app_settings -from strass_app.tests.test_base_test_case import TooledTestCase +import cspmailreports.apps +import cspmailreports.conf logger = logging.getLogger(__name__) -class CSPTooledTestCase(TooledTestCase): +class CSPTooledTestCase(TestCase): url = reverse_lazy('cspmailreports:csp-report') def setUp(self): super().setUp() - app_settings._reset_cache() + cspmailreports.conf.app_settings._reset_cache() @staticmethod def fake_report(referrer="http://127.0.0.1:8080") -> Dict: @@ -77,7 +77,7 @@ class TestDOS(CSPTooledTestCase): mail_count = len(mail.outbox) self.client.defaults['REMOTE_ADDR'] = '1.2.3.4' # trigger dos - for i in range(app_settings.max_report_before_cooldown): + for i in range(cspmailreports.conf.app_settings.max_report_before_cooldown): self.assertIn(self.report().status_code, [200]) mail_count += 1 self.assertEqual(mail_count, len(mail.outbox)) @@ -118,8 +118,8 @@ class TestMailNoAdmin(CSPTooledTestCase): ) class TestCheck1(CSPTooledTestCase): def test_it(self): - app_settings._reset_cache() - self.assertEqual(len(apps.check_settings(None)), 1) + cspmailreports.conf.app_settings._reset_cache() + self.assertEqual(len(cspmailreports.apps.check_settings(None)), 1) @override_settings( @@ -127,8 +127,8 @@ class TestCheck1(CSPTooledTestCase): ) class TestCheck2(CSPTooledTestCase): def test_it(self): - app_settings._reset_cache() - self.assertEqual(len(apps.check_settings(None)), 1) + cspmailreports.conf.app_settings._reset_cache() + self.assertEqual(len(cspmailreports.apps.check_settings(None)), 1) @override_settings( @@ -137,5 +137,5 @@ class TestCheck2(CSPTooledTestCase): ) class TestCheckAll(CSPTooledTestCase): def test_it(self): - app_settings._reset_cache() - self.assertEqual(len(apps.check_settings(None)), 2) + cspmailreports.conf.app_settings._reset_cache() + self.assertEqual(len(cspmailreports.apps.check_settings(None)), 2) diff --git a/src/strass/cspmailreports/urls.py b/src/strass/cspmailreports/urls.py index fc0d22d09d32ffaa20853d184051a41610c6ba85..5c0ab9d08a19b2cae922b3b8071907246bf5a456 100644 --- a/src/strass/cspmailreports/urls.py +++ b/src/strass/cspmailreports/urls.py @@ -1,8 +1,8 @@ from django.urls import re_path -from views import report_csp +import cspmailreports.views app_name = 'cspmailreports' urlpatterns = [ - re_path(r'^report/$', report_csp, name='csp-report'), + re_path(r'^report/$', cspmailreports.views.report_csp, name='csp-report'), ] diff --git a/src/strass/cspmailreports/views.py b/src/strass/cspmailreports/views.py index aee1b138a8483057b68315295bd5cf4f9a50efad..4acfa6c605f43487cfeca5d30793bcd6c1ab42f6 100644 --- a/src/strass/cspmailreports/views.py +++ b/src/strass/cspmailreports/views.py @@ -5,8 +5,8 @@ from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_POST -from cspmailreports import utils -from cspmailreports.conf import app_settings +import cspmailreports.conf +import cspmailreports.utils logger = logging.getLogger(__name__) @@ -16,10 +16,10 @@ logger = logging.getLogger(__name__) def report_csp(request): if request.content_type != 'application/csp-report': return HttpResponse(status=415) - if utils.is_flagged_as_dos(request): - return HttpResponse(status=429, headers=[("Retry-After", app_settings.dos_cooldown)]) - report = utils.create_report(request) - if app_settings.print_in_log: + if cspmailreports.utils.is_flagged_as_dos(request): + return HttpResponse(status=429, headers=[("Retry-After", cspmailreports.conf.app_settings.dos_cooldown)]) + report = cspmailreports.utils.create_report(request) + if cspmailreports.conf.app_settings.print_in_log: logger.warning(f'CSP violation report:\n{report}') mail_admins("CSP violation report", report) return HttpResponse()