diff --git a/configurations/importer.py b/configurations/importer.py index 10860d3..534b22e 100644 --- a/configurations/importer.py +++ b/configurations/importer.py @@ -95,9 +95,9 @@ class ConfigurationImporter(object): def __init__(self, check_options=False): self.argv = sys.argv[:] - self.validate() if check_options: self.check_options() + self.validate() def __repr__(self): return "".format(self.module, diff --git a/tests/test_main.py b/tests/test_main.py index 0de1cc7..ff0dc26 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,4 +1,5 @@ import os +import sys from django.conf import global_settings from django.test import TestCase @@ -78,3 +79,17 @@ class MainTests(TestCase): self.assertEqual(importer.module, 'tests.settings.inheritance') self.assertEqual(importer.name, 'Inheritance') + + @patch.dict(os.environ, clear=True, + DJANGO_SETTINGS_MODULE='tests.settings.main', + DJANGO_CONFIGURATION='NonExisting') + @patch.object(sys, 'argv', ['python', 'manage.py', 'test', + '--settings=tests.settings.main', + '--configuration=Test']) + def test_configuration_option(self): + importer = ConfigurationImporter(check_options=False) + self.assertEqual(importer.module, 'tests.settings.main') + self.assertEqual(importer.name, 'NonExisting') + importer = ConfigurationImporter(check_options=True) + self.assertEqual(importer.module, 'tests.settings.main') + self.assertEqual(importer.name, 'Test')