Add unit tests.

see #799
This commit is contained in:
Antoine Nguyen
2016-04-27 09:49:16 +02:00
parent b3b407fc3a
commit 90e46a85a7
+53 -1
View File
@@ -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")