3
0
Fork 0

feat: add WuttaConfigProfile base class

convenience for use with various configurable features/services etc.
This commit is contained in:
Lance Edgar 2025-08-08 22:41:33 -05:00
parent a721e63275
commit ad6a3377ab
2 changed files with 105 additions and 1 deletions

View file

@ -12,7 +12,7 @@ from wuttjamaican import conf as mod
from wuttjamaican import conf
from wuttjamaican.exc import ConfigurationError
from wuttjamaican.app import AppHandler
from wuttjamaican.testing import FileTestCase
from wuttjamaican.testing import FileTestCase, ConfigTestCase
class TestWuttaConfig(FileTestCase):
@ -867,3 +867,21 @@ class TestMakeConfig(FileTestCase):
foo_cls.assert_called_once_with()
foo_obj.configure.assert_called_once_with(testconfig)
foo_obj.startup.assert_called_once_with(testconfig)
class TestWuttaConfigProfile(ConfigTestCase):
def make_profile(self, key):
return mod.WuttaConfigProfile(self.config, key)
def test_section(self):
profile = self.make_profile('default')
self.assertRaises(NotImplementedError, getattr, profile, 'section')
def test_get_str(self):
self.config.setdefault('wutta.telemetry.default.submit_url', '/nodes/telemetry')
with patch.object(mod.WuttaConfigProfile, 'section', new='wutta.telemetry'):
profile = self.make_profile('default')
self.assertEqual(profile.section, 'wutta.telemetry')
url = profile.get_str('submit_url')
self.assertEqual(url, '/nodes/telemetry')