Increase coverage.

see #1030
This commit is contained in:
Antoine Nguyen
2017-02-15 20:46:47 +01:00
parent e8ceadaa1d
commit cdd4e7e89e
3 changed files with 34 additions and 2 deletions
+2 -1
View File
@@ -269,8 +269,9 @@ class Domain(AdminObject):
self.save(creator=user)
def to_csv(self, csvwriter):
"""Export domain and domain aliases to CSV format."""
csvwriter.writerow([
"domain", self.name, self.quota, self.default_mailbox_quot,
"domain", self.name, self.quota, self.default_mailbox_quota,
self.enabled
])
for dalias in self.domainalias_set.all():
+16 -1
View File
@@ -8,7 +8,6 @@ from .. import factories
class ExportTestCase(ModoTestCase):
"""Test case for export operations."""
@classmethod
@@ -17,6 +16,14 @@ class ExportTestCase(ModoTestCase):
super(ExportTestCase, cls).setUpTestData()
factories.populate_database()
def __export_domains(self, domfilter=""):
self.client.get(
"{}?domfilter={}".format(
reverse("admin:_domain_list"), domfilter))
return self.client.post(
reverse("admin:domain_export"), {"filename": "test.csv"}
)
def __export_identities(self, idtfilter="", grpfilter=""):
self.client.get(
reverse("admin:_identity_list") +
@@ -34,6 +41,14 @@ class ExportTestCase(ModoTestCase):
continue
self.assertIn(entry, list2)
def test_export_domains(self):
"""Check domain export."""
response = self.__export_domains()
self.assertListEqual(
"domain;test2.com;0;0;True\r\ndomain;test.com;50;10;True\r\n",
response.content.strip()
)
def test_export_identities(self):
response = self.__export_identities()
self.assertListEqual(
+16
View File
@@ -49,6 +49,22 @@ domainalias; domalias1.com; domain1.com; True
self.assertFalse(dom.enabled)
self.assertTrue(admin.is_owner(dom))
def test_domain_import_bad_syntax(self):
"""Check errors handling."""
url = reverse("admin:domain_import")
f = ContentFile("domain; domain1.com; 100; True",
name="domains.csv")
response = self.client.post(url, {"sourcefile": f})
self.assertContains(response, "Invalid line")
f = ContentFile("domain; domain1.com; XX; 100; True",
name="domains.csv")
response = self.client.post(url, {"sourcefile": f})
self.assertContains(response, "Invalid quota value")
f = ContentFile("domain; domain1.com; 100; XX; True",
name="domains.csv")
response = self.client.post(url, {"sourcefile": f})
self.assertContains(response, "Invalid default mailbox quota")
def test_import_domains_with_conflict(self):
f = ContentFile(b"""domain;test.alias;100;10;True
domainalias;test.alias;test.com;True