diff --git a/modoboa/admin/api/v2/serializers.py b/modoboa/admin/api/v2/serializers.py index a6d2c0e06..e1310ebf9 100644 --- a/modoboa/admin/api/v2/serializers.py +++ b/modoboa/admin/api/v2/serializers.py @@ -540,7 +540,7 @@ class WritableAccountSerializer(v1_serializers.WritableAccountSerializer): instance.set_password(password) if mailbox_data: creator = self.context["request"].user - if hasattr(instance, "mailbox") and "mailbox" in validated_data: + if hasattr(instance, "mailbox"): if "username" in validated_data: mailbox_data["email"] = validated_data["username"] instance.email = validated_data["username"] diff --git a/modoboa/core/tests/test_views.py b/modoboa/core/tests/test_views.py index 1c14f2d8f..19fbb306c 100644 --- a/modoboa/core/tests/test_views.py +++ b/modoboa/core/tests/test_views.py @@ -93,6 +93,20 @@ SETTINGS_SAMPLE = { "maillog-logfile": "/var/log/mail.log", "maillog-rrd_rootdir": "/tmp", "maillog-greylist": False, + "pdfcredentials-enabled_pdfcredentials": True, + "pdfcredentials-storage_dir": "./", + "pdfcredentials-delete_first_dl": True, + "pdfcredentials-generate_at_creation": True, + "pdfcredentials-title": "Modoboa", + "pdfcredentials-webpanel_url": "local.host/", + "pdfcredentials-custom_message": "test", + "pdfcredentials-include_connection_settings": False, + "pdfcredentials-smtp_server_address": "127.0.0.1", + "pdfcredentials-smtp_server_port": 666, + "pdfcredentials-smtp_connection_security": "starttls", + "pdfcredentials-imap_server_address": "127.0.0.1", + "pdfcredentials-imap_server_port": 667, + "pdfcredentials-imap_connection_security": "starttls" } diff --git a/modoboa/lib/tests/__init__.py b/modoboa/lib/tests/__init__.py index 608197a41..eda6d56bf 100644 --- a/modoboa/lib/tests/__init__.py +++ b/modoboa/lib/tests/__init__.py @@ -1,6 +1,7 @@ """Testing utilities.""" import socket +import tempfile from django.conf import settings from django.core import management @@ -65,6 +66,8 @@ class ModoTestCase(ParametersMixin, TestCase): """Initiate test context.""" self.assertEqual( self.client.login(username=username, password=password), True) + self.workdir = tempfile.mkdtemp() + self.set_global_parameter("storage_dir", self.workdir, app="pdfcredentials") def ajax_request(self, method, url, params=None, status=200): if params is None: @@ -102,6 +105,8 @@ class ModoAPITestCase(ParametersMixin, APITestCase): """Setup.""" super(ModoAPITestCase, self).setUp() self.client.credentials(HTTP_AUTHORIZATION="Token " + self.token.key) + self.workdir = tempfile.mkdtemp() + self.set_global_parameter("storage_dir", self.workdir, app="pdfcredentials") def create_session(self): """Enable session storage across requests.""" diff --git a/modoboa/parameters/api/v2/tests.py b/modoboa/parameters/api/v2/tests.py index 0803b650d..33cf993be 100644 --- a/modoboa/parameters/api/v2/tests.py +++ b/modoboa/parameters/api/v2/tests.py @@ -11,8 +11,8 @@ class ParametersAPITestCase(ModoAPITestCase): url = reverse("v2:parameter-applications") resp = self.client.get(url) self.assertEqual(resp.status_code, 200) - # core, admin, limits - self.assertEqual(len(resp.json()), 3) + # core, admin, limits, pdf credentials + self.assertEqual(len(resp.json()), 4) def test_get_structure(self): url = reverse("v2:parameter-structure") diff --git a/modoboa/pdfcredentials/api/v2/tests.py b/modoboa/pdfcredentials/api/v2/tests.py index c970eaf9a..aa5cf5391 100644 --- a/modoboa/pdfcredentials/api/v2/tests.py +++ b/modoboa/pdfcredentials/api/v2/tests.py @@ -1,6 +1,5 @@ """API v2 tests.""" -import tempfile import shutil import os @@ -20,12 +19,6 @@ class PDFCredentialViewTestCase(ModoAPITestCase): super().setUpTestData() factories.populate_database() - def setUp(self): - """Create temp. directory to store files.""" - super().setUp() - self.workdir = tempfile.mkdtemp() - self.set_global_parameter("storage_dir", self.workdir) - def tearDown(self): """Reset test env.""" shutil.rmtree(self.workdir)