From 90e46a85a7bfdd8159d0772bb2f656a5ebb07cb2 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 27 Apr 2016 09:49:16 +0200 Subject: [PATCH] Add unit tests. see #799 --- modoboa/limits/tests/test_import.py | 54 ++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/modoboa/limits/tests/test_import.py b/modoboa/limits/tests/test_import.py index a36114d58..8ca078d00 100644 --- a/modoboa/limits/tests/test_import.py +++ b/modoboa/limits/tests/test_import.py @@ -3,6 +3,7 @@ from django.core.files.base import ContentFile from django.core.urlresolvers import reverse from modoboa.admin import factories as admin_factories +from modoboa.admin import models as admin_models from modoboa.core import factories as core_factories from modoboa.core import models as core_models from modoboa.lib import parameters @@ -75,6 +76,33 @@ domainalias; domalias2.com; test.com; True ) self.assertContains(response, "Domain aliases: limit reached") + def test_domain_admins_import(self): + """Check domain admins limit.""" + self.client.login( + username=self.reseller.username, password="toto") + domain = admin_models.Domain.objects.get(name="test.com") + domain.add_admin(self.reseller) + limit = self.reseller.userobjectlimit_set.get(name="domain_admins") + self.assertFalse(limit.is_exceeded()) + f = ContentFile(b"""account; admin1@test.com; toto; User; One; True; DomainAdmins; user1@test.com; 5; test.com +account; admin2@test.com; toto; René; Truc; True; DomainAdmins; truc@test.com; 5; test.com +""", name="domain_admins.csv") + self.client.post( + reverse("admin:identity_import"), { + "sourcefile": f + } + ) + self.assertTrue(limit.is_exceeded()) + + f = ContentFile(b"""account; admin3@test.com; toto; User; One; True; DomainAdmins; admin3@test.com; 5; test.com +""", name="domain_admins.csv") + response = self.client.post( + reverse("admin:identity_import"), { + "sourcefile": f + } + ) + self.assertContains(response, "Permission denied") + def test_mailboxes_import(self): """Check mailboxes limit.""" self.client.login( @@ -101,4 +129,28 @@ account; user3@test.com; toto; User; One; True; SimpleUsers; user3@test.com; 5 ) self.assertContains(response, "Mailboxes: limit reached") - # FIXME: aliases, domain admins + def test_mailbox_aliases_import(self): + """Check mailbox aliases limit.""" + self.client.login( + username=self.dadmin.username, password="toto") + limit = self.dadmin.userobjectlimit_set.get(name="mailbox_aliases") + self.assertFalse(limit.is_exceeded()) + f = ContentFile(b"""alias; alias1@test.com; True; user@test.com +alias; alias2@test.com; True; user@test.com +""", name="aliases.csv") + self.client.post( + reverse("admin:identity_import"), { + "sourcefile": f + } + ) + self.assertTrue(limit.is_exceeded()) + + f = ContentFile(""" +alias; alias3@test.com; True; user@test.com +""", name="aliases.csv") + response = self.client.post( + reverse("admin:identity_import"), { + "sourcefile": f + } + ) + self.assertContains(response, "Mailbox aliases: limit reached")