diff --git a/modoboa/admin/management/commands/subcommands/_repair.py b/modoboa/admin/management/commands/subcommands/_repair.py index ff958714a..29af55e65 100644 --- a/modoboa/admin/management/commands/subcommands/_repair.py +++ b/modoboa/admin/management/commands/subcommands/_repair.py @@ -78,17 +78,17 @@ def sometimes_mailbox_have_no_alias(**options): internal=True) if created: alias_created += 1 - log("Alias {0} created".format(alias)) + log("Alias {0} created".format(alias), **options) recipient, created = models.AliasRecipient.objects.get_or_create( alias=alias, address=instance.full_address, r_mailbox=instance) if created: recipient_created += 1 - log("AliasRecipient {0} created".format(recipient)) + log("AliasRecipient {0} created".format(recipient), **options) if alias_created or recipient_created: log("{0} alias created. {1} alias recipient created".format( - alias_created, recipient_created)) + alias_created, recipient_created), **options) class Repair(BaseCommand): diff --git a/modoboa/admin/tests/test_repair.py b/modoboa/admin/tests/test_repair.py index 58e66e1e2..f18178f3f 100644 --- a/modoboa/admin/tests/test_repair.py +++ b/modoboa/admin/tests/test_repair.py @@ -28,7 +28,7 @@ class RepairTestCase(ModoTestCase): # 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 its fixed + # assert it's fixed self.assertIsNot(get_object_owner(mbox), None) self.assertIsNot(get_object_owner(alias), None) @@ -49,3 +49,14 @@ class RepairTestCase(ModoTestCase): 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, 2) + ret = management.call_command("modo", "repair", "--quiet") + assert ret is None + self.assertTrue( + models.Alias.objects.filter( + address="user@test.com", internal=True).exists())