mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Improved test coverage for django.conf.
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							0eefda493b
						
					
				
				
					commit
					c91dcd36fc
				
			| @@ -3,6 +3,7 @@ import sys | ||||
| import unittest | ||||
| import warnings | ||||
| from types import ModuleType | ||||
| from unittest import mock | ||||
|  | ||||
| from django.conf import ENVIRONMENT_VARIABLE, LazySettings, Settings, settings | ||||
| from django.core.exceptions import ImproperlyConfigured | ||||
| @@ -11,6 +12,7 @@ from django.test import ( | ||||
|     SimpleTestCase, TestCase, TransactionTestCase, modify_settings, | ||||
|     override_settings, signals, | ||||
| ) | ||||
| from django.test.utils import requires_tz_support | ||||
|  | ||||
|  | ||||
| @modify_settings(ITEMS={ | ||||
| @@ -286,6 +288,42 @@ class SettingsTests(SimpleTestCase): | ||||
|         with self.assertRaises(AttributeError): | ||||
|             getattr(settings, 'TEST2') | ||||
|  | ||||
|     def test_no_secret_key(self): | ||||
|         settings_module = ModuleType('fake_settings_module') | ||||
|         sys.modules['fake_settings_module'] = settings_module | ||||
|         msg = 'The SECRET_KEY setting must not be empty.' | ||||
|         try: | ||||
|             with self.assertRaisesMessage(ImproperlyConfigured, msg): | ||||
|                 Settings('fake_settings_module') | ||||
|         finally: | ||||
|             del sys.modules['fake_settings_module'] | ||||
|  | ||||
|     def test_no_settings_module(self): | ||||
|         msg = ( | ||||
|             'Requested setting%s, but settings are not configured. You ' | ||||
|             'must either define the environment variable DJANGO_SETTINGS_MODULE ' | ||||
|             'or call settings.configure() before accessing settings.' | ||||
|         ) | ||||
|         orig_settings = os.environ[ENVIRONMENT_VARIABLE] | ||||
|         os.environ[ENVIRONMENT_VARIABLE] = '' | ||||
|         try: | ||||
|             with self.assertRaisesMessage(ImproperlyConfigured, msg % 's'): | ||||
|                 settings._setup() | ||||
|             with self.assertRaisesMessage(ImproperlyConfigured, msg % ' TEST'): | ||||
|                 settings._setup('TEST') | ||||
|         finally: | ||||
|             os.environ[ENVIRONMENT_VARIABLE] = orig_settings | ||||
|  | ||||
|     def test_already_configured(self): | ||||
|         with self.assertRaisesMessage(RuntimeError, 'Settings already configured.'): | ||||
|             settings.configure() | ||||
|  | ||||
|     @requires_tz_support | ||||
|     @mock.patch('django.conf.global_settings.TIME_ZONE', 'test') | ||||
|     def test_incorrect_timezone(self): | ||||
|         with self.assertRaisesMessage(ValueError, 'Incorrect timezone setting: test'): | ||||
|             settings._setup() | ||||
|  | ||||
|  | ||||
| class TestComplexSettingOverride(SimpleTestCase): | ||||
|     def setUp(self): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user