Skip to content
Snippets Groups Projects
Commit 86cfbf25 authored by slobinger's avatar slobinger
Browse files

Merge branch '3-reload-implementation' into 'master'

Resolve "reload implementieren"

Closes #3

See merge request !2
parents eda4b1a2 d38fb377
Branches
No related tags found
Loading
class ConfigProvider: class ConfigProvider:
def __init__(self, load_function, *args, **kwargs): def __init__(self, load_function):
self._conf_dict = load_function(*args, **kwargs) self._conf_dict = load_function['function'](
*load_function.get('args'), **load_function.get('kwargs'))
self._load_function = load_function
@property @property
def dict(self): def dict(self):
return self._conf_dict return self._conf_dict
def reload(self):
self._conf_dict = self._load_function['function'](
*self._load_function.get('args'), **self._load_function.get('kwargs'))
\ No newline at end of file
...@@ -3,7 +3,45 @@ import config_provider ...@@ -3,7 +3,45 @@ import config_provider
class TestConfigProvider(unittest.TestCase): class TestConfigProvider(unittest.TestCase):
def setUp(self):
self.dummy_config = {
'A': 'a',
'B': 'b'}
def read_dummy_conf(self, **kwargs):
conf_dict = dict(self.dummy_config, **kwargs)
return conf_dict
self.read_function = read_dummy_conf
self.config = config_provider.ConfigProvider(
load_function = {
'function': self.read_function, 'args': [self],
'kwargs': {'salt': 'pepper'}})
def test_init(self): def test_init(self):
config = config_provider.ConfigProvider( config = config_provider.ConfigProvider(
load_function = dict, foo = 'bar') load_function = {
self.assertEqual({'foo': 'bar'}, config.dict) 'function': self.read_function, 'args': [self],
\ No newline at end of file 'kwargs': {'foo': 'bar'}})
self.assertEqual({'foo': 'bar', 'A': 'a', 'B': 'b'}, config.dict)
def test_reload(self):
old_dict = dict(self.config.dict)
self.dummy_config = {'A': 'a1', 'B': 'b'}
expected_dict = {'A': 'a1', 'B': 'b', 'salt': 'pepper'}
with self.subTest(
'before Reload: self.config.dict = ' + str(self.config.dict)
+ ' old_dict = ' + str(old_dict) + ' self.dummy_config = '
+ str(self.dummy_config)):
self.assertEqual(
old_dict, self.config.dict, 'old_dict musst equal self.config.dict')
self.assertNotEqual(
self.dummy_config, self.config.dict,
'self.dummy_config musst not equal self.config.dict')
self.config.reload()
with self.subTest('after Reload: self.config.dict = ' + str(self.config.dict)
+ ' old_dict = ' + str(old_dict) + ' self.dummy_config = '
+ str(self.dummy_config)):
self.assertEqual(
expected_dict, self.config.dict,
'expected_dict musst equal self.config.dict')
self.assertNotEqual(
old_dict, self.config.dict, 'old_dict musst not equal self.config.dict')
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment