mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user