gva/gnuviechadmin/userdbs/tests/test_signals.py

64 lines
2.1 KiB
Python
Raw Permalink Normal View History

"""
This module contains explicit tests for corner cases in
:py:mod:`userdbs.signals` that are not handled by the tests in
:py:mod:`userdbs.tests.test_models`.
"""
from unittest.mock import Mock
from django.test import TestCase
from django.test.utils import override_settings
from taskresults.models import TaskResult
from userdbs.signals import (
handle_dbuser_created,
handle_dbuser_deleted,
handle_dbuser_password_set,
handle_userdb_created,
handle_userdb_deleted,
)
@override_settings(
CELERY_ALWAYS_EAGER=True, CELERY_CACHE_BACKEND="memory", BROKER_BACKEND="memory"
)
class TestCaseWithCeleryTasks(TestCase):
pass
class TestWithUnknownDBType(TestCaseWithCeleryTasks):
def test_handle_dbuser_password_set_unknown(self):
instance = Mock(data={"name": "test", "db_type": -1})
handle_dbuser_password_set(Mock(name="sender"), instance, "secret")
self.assertFalse(TaskResult.objects.exists())
def test_handle_dbuser_create_unknown(self):
instance = Mock(data={"name": "test", "db_type": -1})
handle_dbuser_created(Mock(name="sender"), instance, True, password="secret")
self.assertFalse(TaskResult.objects.exists())
def test_handle_dbuser_deleted_unknown(self):
instance = Mock(data={"name": "test", "db_type": -1})
handle_dbuser_deleted(Mock(name="sender"), instance)
self.assertFalse(TaskResult.objects.exists())
def test_handle_userdb_created_unknown(self):
instance = Mock(
data={
"db_name": "test",
"db_user": Mock(data={"name": "test", "db_type": -1}),
}
)
handle_userdb_created(Mock(name="sender"), instance, True)
self.assertFalse(TaskResult.objects.exists())
def test_handle_userdb_deleted_unknown(self):
instance = Mock(
data={
"db_name": "test",
"db_user": Mock(data={"name": "test", "db_type": -1}),
}
)
handle_userdb_deleted(Mock(name="sender"), instance)
self.assertFalse(TaskResult.objects.exists())