UPD: improved tests for dav_base.config.apps

This commit is contained in:
2019-03-28 10:27:51 +01:00
parent 1944dd6775
commit 5cd22bd122

View File

@@ -68,6 +68,11 @@ class AppSettingsTestCase(SimpleTestCase):
self.app_name = 'dav_base' self.app_name = 'dav_base'
self.test_setting_value = TEST_SETTING_VALUE self.test_setting_value = TEST_SETTING_VALUE
def test_no_settings_file(self):
"""Test that nothing bad happens if no settings file can be read"""
app_settings = AppSettings('', ())
self.assertIsInstance(app_settings, AppSettings)
def test_defaults(self): def test_defaults(self):
"""Test the default value for optional and unset settings""" """Test the default value for optional and unset settings"""
default_settings = ( default_settings = (
@@ -78,15 +83,39 @@ class AppSettingsTestCase(SimpleTestCase):
self.assertEqual(app_settings.no_test_setting, 1) self.assertEqual(app_settings.no_test_setting, 1)
self.assertEqual(app_settings.no_test_setting_2, 2) self.assertEqual(app_settings.no_test_setting_2, 2)
def test_improperlyconfigured(self): def test_improperlyconfigured_by_class(self):
"""Test if mandatory but unset setting raise correct exception""" """Test if mandatory but unset setting raise correct exception"""
default_settings = ( default_settings = (
DefaultSetting('no_test_setting', ImproperlyConfigured), DefaultSetting('no_test_setting', ImproperlyConfigured),
) )
try: with self.assertRaisesRegex(ImproperlyConfigured, 'NO_TEST_SETTING must be defined in main.settings-dav_base'):
app_settings = AppSettings(self.app_name, default_settings)
def test_improperlyconfigured_by_instance(self):
"""Test if mandatory but unset setting raise correct exception"""
default_settings = (
DefaultSetting('no_test_setting', ImproperlyConfigured('Some Error Message')),
)
with self.assertRaisesRegex(ImproperlyConfigured, 'Some Error Message'):
app_settings = AppSettings(self.app_name, default_settings)
def test_improperlyconfigured_by_func(self):
"""Test if invalid setting raise correct exception"""
def validator(value):
return False
default_settings = (
DefaultSetting('test_setting', 1, validator=validator),
)
with self.assertRaises(ImproperlyConfigured):
app_settings = AppSettings(self.app_name, default_settings)
def test_improperlyconfigured_by_regex(self):
"""Test if invalid setting raise correct exception"""
default_settings = (
DefaultSetting('test_setting', 1, validator=r'^[01]$'),
)
with self.assertRaises(ImproperlyConfigured):
app_settings = AppSettings(self.app_name, default_settings) app_settings = AppSettings(self.app_name, default_settings)
except ImproperlyConfigured as e:
self.assertEqual(str(e), 'NO_TEST_SETTING must be defined in main.settings-dav_base')
def test_settings_from_file(self): def test_settings_from_file(self):
"""Test if value from settings file eliminate exception""" """Test if value from settings file eliminate exception"""