Coverage for ivatar/test_config_defaults.py: 90%
31 statements
« prev ^ index » next coverage.py v7.14.2, created at 2026-06-21 23:07 +0000
« prev ^ index » next coverage.py v7.14.2, created at 2026-06-21 23:07 +0000
1"""
2Unit tests for configurable default settings
3"""
5import unittest
6from unittest.mock import patch
7import os
8import django
10os.environ["DJANGO_SETTINGS_MODULE"] = "ivatar.settings"
11django.setup()
13from django.test import TestCase
16class ConfigurableDefaultsTestCase(TestCase):
17 """
18 Test cases for configurable default settings for gravatarproxy, gravatarredirect, and forcedefault
19 """
21 def test_config_imports_successfully(self):
22 """
23 Test that the new configuration options can be imported successfully
24 """
25 try:
26 from ivatar.settings import (
27 DEFAULT_GRAVATARPROXY,
28 DEFAULT_GRAVATARREDIRECT,
29 FORCEDEFAULT,
30 )
32 # Test that they have the expected default values
33 self.assertTrue(isinstance(DEFAULT_GRAVATARPROXY, bool))
34 self.assertTrue(isinstance(DEFAULT_GRAVATARREDIRECT, bool))
35 self.assertTrue(isinstance(FORCEDEFAULT, bool))
36 except ImportError as e:
37 self.fail(f"Failed to import configuration settings: {e}")
39 @patch("ivatar.settings.DEFAULT_GRAVATARPROXY", False)
40 @patch("ivatar.settings.DEFAULT_GRAVATARREDIRECT", True)
41 @patch("ivatar.settings.FORCEDEFAULT", True)
42 def test_config_values_can_be_overridden(self):
43 """
44 Test that configuration values can be overridden (mocked for testing)
45 """
46 from ivatar import settings
48 # These should reflect the patched values
49 self.assertFalse(settings.DEFAULT_GRAVATARPROXY)
50 self.assertTrue(settings.DEFAULT_GRAVATARREDIRECT)
51 self.assertTrue(settings.FORCEDEFAULT)
53 def test_default_values_are_correct(self):
54 """
55 Test that the default values match the issue requirements
56 """
57 from ivatar.settings import (
58 DEFAULT_GRAVATARPROXY,
59 DEFAULT_GRAVATARREDIRECT,
60 FORCEDEFAULT,
61 )
63 # Based on the issue, these should be the defaults for public instances
64 self.assertTrue(
65 DEFAULT_GRAVATARPROXY
66 ) # Default should be True for public instances
67 self.assertFalse(DEFAULT_GRAVATARREDIRECT) # Default should be False
68 self.assertFalse(FORCEDEFAULT) # Default should be False
71if __name__ == "__main__":
72 unittest.main()