diff --git a/mayan/apps/document_signatures/tests/test_setting_migrations.py b/mayan/apps/document_signatures/tests/test_setting_migrations.py new file mode 100644 index 0000000000..ab52cd5664 --- /dev/null +++ b/mayan/apps/document_signatures/tests/test_setting_migrations.py @@ -0,0 +1,35 @@ +from __future__ import unicode_literals + +from django.conf import settings +from django.utils.encoding import force_bytes + +from mayan.apps.common.tests.base import BaseTestCase +from mayan.apps.common.tests.mixins import EnvironmentTestCaseMixin +from mayan.apps.smart_settings.classes import Setting +from mayan.apps.storage.utils import NamedTemporaryFile + +from ..settings import setting_storage_backend_arguments + + +class SourceSettingMigrationTestCase(EnvironmentTestCaseMixin, BaseTestCase): + def test_signatures_storage_backend_arguments_0001_migration(self): + + test_value = {'location': 'test value'} + + with NamedTemporaryFile() as file_object: + settings.CONFIGURATION_FILEPATH = file_object.name + file_object.write( + force_bytes( + '{}: {}'.format( + 'SIGNATURES_STORAGE_BACKEND_ARGUMENTS', + '"{}"'.format(Setting.serialize_value(value=test_value)) + ) + ) + ) + file_object.seek(0) + Setting._config_file_cache = None + + self.assertEqual( + setting_storage_backend_arguments.value, + test_value + )