mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
* Fixed broken unit tests (see #196)
* No more fixtures for the 'limits' extension (were causing problems when running tests) (see #105)
This commit is contained in:
@@ -1 +1 @@
|
||||
[{"pk": 1, "model": "auth.User", "fields": {"username": "admin", "is_active": "True", "is_superuser": "True", "password": "sha1$94caa$79b64705ef5551b9cff704952f0b47294310ca07"}},{"pk": 2, "model": "auth.User", "fields": {"username": "user@test.com", "is_active": "True", "is_superuser": "False", "password": "sha1$94caa$79b64705ef5551b9cff704952f0b47294310ca07"}},{"pk": 1, "model": "admin.ObjectDates", "fields": {"creation": "2011-09-07 09:27:07.579603"}}, {"pk": 1, "model": "admin.Domain", "fields": {"name" : "test.com", "quota" : "100", "dates": "1"}}, {"pk": 1, "model": "admin.Mailbox", "fields": {"name": "Test user", "address": "user", "domain": "1", "dates": "1", "uid": "1001", "gid": "1001", "path": "user", "quota": "10", "user": "2"}}]
|
||||
[{"pk": 2, "model": "admin.User", "fields": {"username": "user@test.com", "is_active": "True", "is_superuser": "False", "password": "{CLEAN}toto"}},{"pk": 1, "model": "admin.ObjectDates", "fields": {"creation": "2011-09-07 09:27:07.579603"}}, {"pk": 1, "model": "admin.Domain", "fields": {"name" : "test.com", "quota" : "100", "dates": "1"}}, {"pk": 1, "model": "admin.Mailbox", "fields": {"address": "user", "domain": "1", "dates": "1", "uid": "1001", "gid": "1001", "path": "user", "quota": "10", "user": "2"}}]
|
||||
|
||||
+8
-7
@@ -481,13 +481,14 @@ class Mailbox(DatesAware):
|
||||
user.username = user.email = "%s@%s" % (self.address, self.domain.name)
|
||||
if kwargs.has_key("enabled"):
|
||||
user.is_active = kwargs["enabled"]
|
||||
try:
|
||||
fname, lname = kwargs["name"].split()
|
||||
except ValueError:
|
||||
fname = kwargs["name"]
|
||||
lname = ""
|
||||
user.first_name = fname
|
||||
user.last_name = lname
|
||||
if kwargs.has_key("name"):
|
||||
try:
|
||||
fname, lname = kwargs["name"].split()
|
||||
except ValueError:
|
||||
fname = kwargs["name"]
|
||||
lname = ""
|
||||
user.first_name = fname
|
||||
user.last_name = lname
|
||||
if kwargs.has_key("password"):
|
||||
user.set_password(kwargs["password"])
|
||||
try:
|
||||
|
||||
+18
-17
@@ -52,16 +52,18 @@ class MailboxTestCase(TestCase):
|
||||
def test(self):
|
||||
dom = Domain.objects.get(name="test.com")
|
||||
mb = Mailbox()
|
||||
mb.name = "Tester Toto"
|
||||
mb.address = "tester"
|
||||
mb.domain = dom
|
||||
mb.save(password="toto", enabled=True)
|
||||
mb.save(name="Tester toto", password="toto", enabled=True)
|
||||
self.assertEqual(mb.full_address, "tester@test.com")
|
||||
self.assertEqual(os.path.exists(mb.full_path), True)
|
||||
self.assertEqual(mb.quota, 100)
|
||||
self.assertEqual(mb.enabled, True)
|
||||
self.assertIsNotNone(mb.user)
|
||||
self.assertEqual(mb.user.username, mb.full_address)
|
||||
self.assertTrue(mb.user.check_password("toto"))
|
||||
self.assertEqual(mb.user.first_name, "Tester")
|
||||
self.assertEqual(mb.user.last_name, "toto")
|
||||
self.assertEqual(dom.mailbox_count, 2)
|
||||
|
||||
mb.address = "pouet"
|
||||
@@ -82,9 +84,9 @@ class MailboxTestCase(TestCase):
|
||||
* A normal user changes his password
|
||||
"""
|
||||
clt = Client()
|
||||
self.assertEqual(clt.login(username="admin", password="toto"), True)
|
||||
self.assertEqual(clt.login(username="admin", password="password"), True)
|
||||
response = clt.post("/modoboa/userprefs/changepassword/",
|
||||
{"oldpassword" : "toto",
|
||||
{"oldpassword" : "password",
|
||||
"newpassword" : "titi", "confirmation" : "titi"})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
obj = simplejson.loads(response.content)
|
||||
@@ -132,41 +134,40 @@ class PermissionsTestCase(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.clt = Client()
|
||||
self.clt.login(username="admin", password="toto")
|
||||
self.mb = Mailbox.objects.get(pk=1)
|
||||
self.clt.login(username="admin", password="password")
|
||||
self.user = User.objects.get(username="user@test.com")
|
||||
|
||||
def tearDown(self):
|
||||
self.clt.logout()
|
||||
|
||||
def test_domain_admins(self):
|
||||
response = self.clt.post("/modoboa/admin/permissions/add/",
|
||||
{"role" : "domain_admins",
|
||||
"domain" : "1", "user" : "1"})
|
||||
response = self.clt.post("/modoboa/admin/permissions/domainadmin/promote/",
|
||||
{"name" : self.user.username})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
obj = simplejson.loads(response.content)
|
||||
self.assertEqual(obj["status"], "ok")
|
||||
self.assertEqual(is_domain_admin(self.mb.user), True)
|
||||
self.assertEqual(self.user.belongs_to_group('DomainAdmins'), True)
|
||||
|
||||
response = self.clt.get("/modoboa/admin/permissions/delete/",
|
||||
{"role" : "domain_admins", "selection" : "1"})
|
||||
{"role" : "domain_admins",
|
||||
"selection" : self.user.id})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
obj = simplejson.loads(response.content)
|
||||
self.assertEqual(obj["status"], "ok")
|
||||
self.assertEqual(is_domain_admin(self.mb.user), False)
|
||||
|
||||
self.assertEqual(self.user.belongs_to_group('DomainAdmins'), False)
|
||||
|
||||
def test_superusers(self):
|
||||
response = self.clt.post("/modoboa/admin/permissions/add/",
|
||||
{"role" : "super_admins", "user" : "2"})
|
||||
{"role" : "super_admins", "user" : self.user.id})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
obj = simplejson.loads(response.content)
|
||||
self.assertEqual(obj["status"], "ok")
|
||||
self.assertEqual(User.objects.get(pk=2).is_superuser, True)
|
||||
self.assertEqual(User.objects.get(username="user@test.com").is_superuser, True)
|
||||
|
||||
response = self.clt.get("/modoboa/admin/permissions/delete/",
|
||||
{"role" : "super_admins", "selection" : "2"})
|
||||
{"role" : "super_admins", "selection" : self.user.id})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
obj = simplejson.loads(response.content)
|
||||
self.assertEqual(obj["status"], "ok")
|
||||
self.assertEqual(User.objects.get(pk=2).is_superuser, False)
|
||||
self.assertEqual(User.objects.get(username="user@test.com").is_superuser, False)
|
||||
|
||||
|
||||
@@ -21,10 +21,19 @@ baseurl = "limits"
|
||||
|
||||
def init():
|
||||
ct = ContentType.objects.get(app_label="admin", model="domain")
|
||||
grp = Group.objects.get(name="DomainAdmins")
|
||||
dagrp = Group.objects.get(name="DomainAdmins")
|
||||
for pname in ["view_domains", "add_domain", "change_domain", "delete_domain"]:
|
||||
perm = Permission.objects.get(content_type=ct, codename=pname)
|
||||
grp.permissions.add(perm)
|
||||
dagrp.permissions.add(perm)
|
||||
dagrp.save()
|
||||
|
||||
grp = Group(name="Resellers")
|
||||
grp.save()
|
||||
grp.permissions.add(*dagrp.permissions.all())
|
||||
ct = ContentType.objects.get_for_model(Permission)
|
||||
grp.permissions.add(Permission.objects.get(
|
||||
content_type=ct, codename="view_permissions"
|
||||
))
|
||||
grp.save()
|
||||
|
||||
for user in User.objects.filter(groups__name='DomainAdmins'):
|
||||
@@ -40,6 +49,7 @@ def destroy():
|
||||
perm = Permission.objects.get(content_type=ct, codename=pname)
|
||||
grp.permissions.remove(perm)
|
||||
grp.save()
|
||||
Group.objects.get(name="Resellers").delete()
|
||||
|
||||
def infos():
|
||||
return {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
[{"pk": 3, "model": "auth.group", "fields": {"name": "Resellers", "permissions": [["add_domain", "admin", "domain"], ["change_domain", "admin", "domain"], ["delete_domain", "admin", "domain"], ["view_domains", "admin", "domain"], ["add_mailbox", "admin", "mailbox"], ["change_mailbox", "admin", "mailbox"], ["delete_mailbox", "admin", "mailbox"], ["add_alias", "admin", "alias"], ["change_alias", "admin", "alias"], ["delete_alias", "admin", "alias"], ["view_domain", "admin", "domain"], ["view_mailboxes", "admin", "mailbox"], ["view_aliases", "admin", "alias"], ["view_domaliases", "admin", "domainalias"], ["add_domainalias", "admin", "domainalias"], ["change_domainalias", "admin", "domainalias"], ["delete_domainalias", "admin", "domainalias"], ["view_permissions", "auth", "permission"]]}}]
|
||||
Reference in New Issue
Block a user