From 900359988a246871c653d2051b32330d94877606 Mon Sep 17 00:00:00 2001 From: Spitap Date: Mon, 7 Aug 2023 00:12:36 +0200 Subject: [PATCH] Added csv alias import test --- modoboa/admin/models/alias.py | 2 +- .../admin/tests/test_data/import_aliases.csv | 1 + modoboa/admin/tests/test_import_.py | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 modoboa/admin/tests/test_data/import_aliases.csv diff --git a/modoboa/admin/models/alias.py b/modoboa/admin/models/alias.py index f6497c01e..c37e98aee 100644 --- a/modoboa/admin/models/alias.py +++ b/modoboa/admin/models/alias.py @@ -62,7 +62,7 @@ def modify_or_create_alias(address, recipients, creator, domain): alias = Alias.objects.filter(address=address, internal=False) if alias.exists(): alias.first().add_recipients(recipients) - elif creator is not None and domain is not None: + else: Alias.objects.create( creator=creator, domain=domain, diff --git a/modoboa/admin/tests/test_data/import_aliases.csv b/modoboa/admin/tests/test_data/import_aliases.csv new file mode 100644 index 000000000..644db26b5 --- /dev/null +++ b/modoboa/admin/tests/test_data/import_aliases.csv @@ -0,0 +1 @@ +alias; alias1@test.com; True; truc@test.com diff --git a/modoboa/admin/tests/test_import_.py b/modoboa/admin/tests/test_import_.py index 3494f5a86..76571d0d0 100644 --- a/modoboa/admin/tests/test_import_.py +++ b/modoboa/admin/tests/test_import_.py @@ -418,3 +418,26 @@ dómain; dómªin2.com; 1000; 100; True self.assertEqual(dom.default_mailbox_quota, 200) self.assertTrue(dom.enabled) self.assertTrue(admin.is_owner(dom)) + + def test_import_aliases(self): + f = ContentFile(""" +account; user1@test.com; toto; User; One; True; SimpleUsers; user1@test.com; 0 +account; Truc@test.com; toto; René; Truc; True; DomainAdmins; truc@test.com; 5; test.com +alias; alias1@test.com; True; user1@test.com +""", name="identities.csv") # NOQA:E501 + resp = self.client.post( + reverse("admin:identity_import"), + {"sourcefile": f, "crypt_password": True} + ) + self.assertEqual(resp.status_code, 200) + + test_file = os.path.join( + os.path.dirname(__file__), + "test_data/import_aliases.csv" + ) + with self.assertRaises(CommandError) as cm: + call_command("modo", "import", test_file) + ex_message = cm.exception.messages + self.assertTrue(ex_message.startswith("Object already exists")) + + call_command("modo", "import", "--continue-if-exists", test_file)