Fixing unit tests.

This commit is contained in:
Antoine Nguyen
2013-11-08 16:29:15 +01:00
parent 1fc330c28a
commit bf3fe869f6
7 changed files with 33 additions and 15 deletions
+1
View File
@@ -7,6 +7,7 @@ services: mysql
install:
- python setup.py -q install
- pip install -q pexpect
before_script:
- mysql -e 'create database modoboa_test;'
@@ -155,6 +155,7 @@ MODOBOA_APPS = (
# Modoboa extensions here.
'modoboa.extensions.admin',
'modoboa.extensions.limits',
'modoboa.extensions.postfix_relay_domains',
'modoboa.extensions.postfix_autoreply',
'modoboa.extensions.webmail',
'modoboa.extensions.stats',
+1 -1
View File
@@ -78,7 +78,7 @@ def saveextensions(request):
for k in request.POST.keys():
if k.startswith("select_"):
parts = k.split("_", 1)
dbext = Extension.objects.get(name=parts[1])
dbext = Extension.objects.get(name=parts[1])
if not dbext in actived_exts:
dbext.on()
else:
+5 -2
View File
@@ -10,7 +10,7 @@ from modoboa.lib import events
class LimitTemplates(Singleton):
def __init__(self):
self.templates = [
self.__templates = [
("domain_admins_limit", ugettext_lazy("Domain admins"),
ugettext_lazy("Maximum number of domain administrators this user can create"),
'Resellers'),
@@ -25,7 +25,10 @@ class LimitTemplates(Singleton):
("mailbox_aliases_limit", ugettext_lazy("Mailbox aliases"),
ugettext_lazy("Maximum number of mailbox aliases this user can create"))
]
self.templates += events.raiseQueryEvent('GetExtraLimitTemplates')
@property
def templates(self):
return self.__templates + events.raiseQueryEvent('GetExtraLimitTemplates')
class LimitsPool(models.Model):
+2 -5
View File
@@ -12,10 +12,10 @@ from modoboa.extensions.limits.models import LimitTemplates
class PermissionsTestCase(ExtTestCase):
fixtures = ["initial_users.json"]
names = ["limits"]
def setUp(self):
super(PermissionsTestCase, self).setUp()
self.activate_extensions('limits')
populate_database()
def test_domainadmin_deletes_reseller(self):
@@ -41,7 +41,6 @@ class PermissionsTestCase(ExtTestCase):
class ResourceTestCase(ExtTestCase):
fixtures = ["initial_users.json"]
names = ["limits"]
def setUp(self):
"""Custom setUp method.
@@ -49,10 +48,8 @@ class ResourceTestCase(ExtTestCase):
The 'limits' is manually loaded to ensure extra parameters
provided by 'postfix_relay_domains' are properly received.
"""
from modoboa.core.extensions import exts_pool
super(ResourceTestCase, self).setUp()
exts_pool.get_extension('limits').load()
self.activate_extensions('limits')
for tpl in LimitTemplates().templates:
parameters.save_admin('DEFLT_%s' % tpl[0].upper(), 2, app='limits')
populate_database()
@@ -1,5 +1,6 @@
from django.core.urlresolvers import reverse
from modoboa.core.factories import UserFactory
from modoboa.lib import parameters
from modoboa.lib.tests import ExtTestCase
from modoboa.extensions.admin import factories
from modoboa.extensions.limits.tests import ResourceTestCase
@@ -40,13 +41,18 @@ class Operations(object):
values, status
)
def _check_limit(self, name, curvalue, maxvalue):
l = self.user.limitspool.get_limit('%s_limit' % name)
self.assertEqual(l.curvalue, curvalue)
self.assertEqual(l.maxvalue, maxvalue)
class RelayDomainsTestCase(ExtTestCase, Operations):
fixtures = ['initial_users.json']
names = ['postfix_relay_domains']
def setUp(self):
super(RelayDomainsTestCase, self).setUp()
self.activate_extensions('postfix_relay_domains')
factories.populate_database()
self.rdom = RelayDomainFactory(name='relaydomain.tld')
RelayDomainAliasFactory(name='relaydomainalias.tld', target=self.rdom)
@@ -156,12 +162,17 @@ class RelayDomainsTestCase(ExtTestCase, Operations):
RelayDomain.objects.get(name='relaydomainalias.tld')
class LimitsTestCase(ResourceTestCase, Operations):
names = ['limits', 'postfix_relay_domains']
class LimitsTestCase(ExtTestCase, Operations):
fixtures = ['initial_users.json']
def setUp(self):
super(LimitsTestCase, self).setUp()
self.user = UserFactory(
from modoboa.extensions.limits.models import LimitTemplates
self.activate_extensions('limits', 'postfix_relay_domains')
for tpl in LimitTemplates().templates:
parameters.save_admin('DEFLT_%s' % tpl[0].upper(), 2, app='limits')
self.user = UserFactory.create(
username='reseller', groups=('Resellers',)
)
self.clt.logout()
+8 -3
View File
@@ -27,15 +27,20 @@ class ModoTestCase(TestCase):
class ExtTestCase(ModoTestCase):
names = []
def setUp(self, *args, **kwargs):
super(ExtTestCase, self).setUp(*args, **kwargs)
self.clt.get(reverse("modoboa.core.views.admin.viewextensions"))
self.clt.post(
def activate_extensions(self, *names):
from modoboa.core.extensions import exts_pool
self.ajax_post(
reverse("modoboa.core.views.admin.saveextensions"),
dict(("select_%s" % name, "1") for name in self.names)
dict(("select_%s" % name, "1") for name in names)
)
for name in names:
exts_pool.get_extension(name).load()
class TestParams(parameters.AdminParametersForm):