File: test_apps.py

package info (click to toggle)
python-django-structlog 9.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,004 kB
  • sloc: python: 3,509; sh: 206; javascript: 79; makefile: 19
file content (72 lines) | stat: -rw-r--r-- 2,692 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from unittest.mock import create_autospec, patch

from django.test import TestCase

from django_structlog import apps, commands
from django_structlog.celery import receivers


class TestAppConfig(TestCase):
    def test_celery_enabled(self) -> None:
        app = apps.DjangoStructLogConfig(
            "django_structlog", __import__("django_structlog")
        )
        mock_receiver = create_autospec(spec=receivers.CeleryReceiver)
        with patch(
            "django_structlog.celery.receivers.CeleryReceiver",
            return_value=mock_receiver,
        ):
            with self.settings(DJANGO_STRUCTLOG_CELERY_ENABLED=True):
                app.ready()
        mock_receiver.connect_signals.assert_called_once()

        self.assertTrue(hasattr(app, "_celery_receiver"))
        self.assertIsNotNone(app._celery_receiver)

    def test_celery_disabled(self) -> None:
        app = apps.DjangoStructLogConfig(
            "django_structlog", __import__("django_structlog")
        )

        mock_receiver = create_autospec(spec=receivers.CeleryReceiver)
        with patch(
            "django_structlog.celery.receivers.CeleryReceiver",
            return_value=mock_receiver,
        ):
            with self.settings(DJANGO_STRUCTLOG_CELERY_ENABLED=False):
                app.ready()
        mock_receiver.connect_signals.assert_not_called()

        self.assertFalse(hasattr(app, "_celery_receiver"))

    def test_command_enabled(self) -> None:
        app = apps.DjangoStructLogConfig(
            "django_structlog", __import__("django_structlog")
        )
        mock_receiver = create_autospec(spec=commands.DjangoCommandReceiver)
        with patch(
            "django_structlog.commands.DjangoCommandReceiver",
            return_value=mock_receiver,
        ):
            with self.settings(DJANGO_STRUCTLOG_COMMAND_LOGGING_ENABLED=True):
                app.ready()
        mock_receiver.connect_signals.assert_called_once()

        self.assertTrue(hasattr(app, "_django_command_receiver"))
        self.assertIsNotNone(app._django_command_receiver)

    def test_command_disabled(self) -> None:
        app = apps.DjangoStructLogConfig(
            "django_structlog", __import__("django_structlog")
        )

        mock_receiver = create_autospec(spec=commands.DjangoCommandReceiver)
        with patch(
            "django_structlog.commands.DjangoCommandReceiver",
            return_value=mock_receiver,
        ):
            with self.settings(DJANGO_STRUCTLOG_COMMAND_LOGGING_ENABLED=False):
                app.ready()
        mock_receiver.connect_signals.assert_not_called()

        self.assertFalse(hasattr(app, "_django_command_receiver"))