Server IP : 85.214.239.14 / Your IP : 3.137.175.166 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib64/python3.5/site-packages/modoboa/admin/tests/ |
Upload File : |
"""Repair command tests""" from django.core import management from modoboa.lib.permissions import ObjectAccess, get_object_owner from modoboa.lib.tests import ModoTestCase from .. import factories, models class RepairTestCase(ModoTestCase): """TestCase for repair command.""" @classmethod def setUpTestData(cls): # NOQA:N802 """Create some data.""" super(RepairTestCase, cls).setUpTestData() factories.populate_database() def test_management_command(self): """Check that command works fine.""" ObjectAccess.objects.all().delete() mbox = models.Mailbox.objects.first() alias = models.Alias.objects.first() # assert mbox has no owner self.assertIs(get_object_owner(mbox), None) # fix it. run in quiet mode because we dont want output in tests ret = management.call_command("modo", "repair", "--quiet") assert ret is None # assert it's fixed self.assertIsNot(get_object_owner(mbox), None) self.assertIsNot(get_object_owner(alias), None) def test_management_command_with_dry_run(self): """Check that command works fine.""" ObjectAccess.objects.all().delete() mbox = models.Mailbox.objects.first() # assert mbox has no owner self.assertIs(get_object_owner(mbox), None) # show problems. run in quiet mode because we dont want output in tests ret = management.call_command("modo", "repair", "--quiet", "--dry-run") assert ret is None # assert its not fixed self.assertIs(get_object_owner(mbox), None) def test_management_command_with_nul_domain(self): """Just assume nothing raise when an alias has no domain.""" models.Alias.objects.create(address="@modoboa.xxx") ret = management.call_command("modo", "repair", "--quiet") assert ret is None def test_management_command_with_no_alias(self): """Check that problem is fixed.""" count, detail = models.Alias.objects.filter( address="user@test.com", internal=True).delete() self.assertEqual(count, 3) ret = management.call_command("modo", "repair", "--quiet") assert ret is None self.assertTrue( models.Alias.objects.filter( address="user@test.com", internal=True).exists())