From 5e637f7f0a8d4fe493adc99b4ee4add4ee5038b4 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 21 Feb 2017 09:53:54 +0100 Subject: [PATCH] Improve coverage. see #1035 --- modoboa/admin/tests/test_api.py | 6 ++++++ modoboa/admin/tests/test_domain.py | 30 +++++++++++++++++++++++++++-- modoboa/admin/tests/test_import_.py | 6 ++++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/modoboa/admin/tests/test_api.py b/modoboa/admin/tests/test_api.py index a56eb0161..0d17f9702 100644 --- a/modoboa/admin/tests/test_api.py +++ b/modoboa/admin/tests/test_api.py @@ -53,6 +53,12 @@ class DomainAPITestCase(ModoAPITestCase): self.assertEqual(response.status_code, 400) self.assertIn("name", response.data) + response = self.client.post( + url, {"name": "test5.com", "quota": 1, "default_mailbox_quota": 10} + ) + self.assertEqual(response.status_code, 400) + self.assertIn("default_mailbox_quota", response.data) + self.client.credentials( HTTP_AUTHORIZATION='Token ' + self.da_token.key) response = self.client.post( diff --git a/modoboa/admin/tests/test_domain.py b/modoboa/admin/tests/test_domain.py index 859d985d6..5165a5722 100644 --- a/modoboa/admin/tests/test_domain.py +++ b/modoboa/admin/tests/test_domain.py @@ -126,6 +126,33 @@ class DomainTestCase(ModoTestCase): self.assertTrue( self.client.login(username="toto@pouet.com", password=password)) + def test_quota_constraints(self): + """Check quota constraints.""" + values = { + "name": "pouet.com", "quota": 10, "default_mailbox_quota": 100, + "create_dom_admin": True, "dom_admin_username": "toto", + "create_aliases": True, "type": "domain", "stepid": 'step3' + } + response = self.ajax_post( + reverse("admin:domain_add"), + values, status=400 + ) + self.assertEqual( + response["form_errors"]["default_mailbox_quota"][0], + "Cannot be greater than domain quota") + + dom = Domain.objects.get(name="test.com") + values["name"] = dom.name + values["quota"] = 10 + values["default_mailbox_quota"] = 100 + response = self.ajax_post( + reverse("admin:domain_change", args=[dom.pk]), + values, status=400 + ) + self.assertEqual( + response["form_errors"]["default_mailbox_quota"][0], + "Cannot be greater than domain quota") + def test_create_using_default_quota(self): """Check that default value is used for creation.""" self.set_global_parameter("default_domain_quota", 500) @@ -157,8 +184,7 @@ class DomainTestCase(ModoTestCase): dom.alias_set.filter(address="postmaster@pouet.com").exists()) def test_delete(self): - """Test the removal of a domain - """ + """Test the removal of a domain.""" dom = Domain.objects.get(name="test.com") self.ajax_post( reverse("admin:domain_delete", args=[dom.id]), diff --git a/modoboa/admin/tests/test_import_.py b/modoboa/admin/tests/test_import_.py index 067c50cab..73d8aea76 100644 --- a/modoboa/admin/tests/test_import_.py +++ b/modoboa/admin/tests/test_import_.py @@ -64,6 +64,12 @@ domainalias; domalias1.com; domain1.com; True name="domains.csv") response = self.client.post(url, {"sourcefile": f}) self.assertContains(response, "Invalid default mailbox quota") + f = ContentFile("domain; domain1.com; 10; 100; True", + name="domains.csv") + response = self.client.post(url, {"sourcefile": f}) + self.assertContains( + response, + "Default mailbox quota cannot be greater than domain quota") def test_import_domains_with_conflict(self): f = ContentFile(b"""domain;test.alias;100;10;True