gva/gnuviechadmin/userdbs/tests/test_signals.py

67 lines
2.2 KiB
Python
Raw 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 __future__ import unicode_literals
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)
try:
from unittest.mock import Mock
except ImportError:
from mock import Mock
@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())