* 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:
Antoine Nguyen
2012-01-31 17:09:13 +01:00
parent a6fa82c392
commit 8e432d344e
5 changed files with 39 additions and 28 deletions
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+12 -2
View File
@@ -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"]]}}]