Allow override required parameters
This commit is contained in:
parent
8223824307
commit
1fd5fc07a5
@ -216,6 +216,12 @@ class CB:
|
|||||||
msg = f'Could not read config file `{e.filename}`: {e.strerror}'
|
msg = f'Could not read config file `{e.filename}`: {e.strerror}'
|
||||||
raise Error(msg)
|
raise Error(msg)
|
||||||
|
|
||||||
|
def lazy_get_raises(key):
|
||||||
|
if key in override:
|
||||||
|
return override[key]
|
||||||
|
else:
|
||||||
|
return cfg[key]
|
||||||
|
|
||||||
self.mkimage_profiles_git = self.expand_path(
|
self.mkimage_profiles_git = self.expand_path(
|
||||||
cfg.get('mkimage_profiles_git', '')
|
cfg.get('mkimage_profiles_git', '')
|
||||||
)
|
)
|
||||||
@ -260,9 +266,9 @@ class CB:
|
|||||||
self.key = '{:X}'.format(self.key)
|
self.key = '{:X}'.format(self.key)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self._remote = self.expand_path(cfg['remote'])
|
self._remote = self.expand_path(lazy_get_raises('remote'))
|
||||||
self._images = cfg['images']
|
self._images = lazy_get_raises('images')
|
||||||
self._branches = cfg['branches']
|
self._branches = lazy_get_raises('branches')
|
||||||
for _, branch in self._branches.items():
|
for _, branch in self._branches.items():
|
||||||
branch['arches'] = {k: {} if v is None else v
|
branch['arches'] = {k: {} if v is None else v
|
||||||
for k, v in branch['arches'].items()}
|
for k, v in branch['arches'].items()}
|
||||||
|
@ -60,6 +60,24 @@ class TestErrors(TestCase):
|
|||||||
self.kwargs.update(config=self.config)
|
self.kwargs.update(config=self.config)
|
||||||
self.assertRaisesRegex(Error, regex, CB, **self.kwargs)
|
self.assertRaisesRegex(Error, regex, CB, **self.kwargs)
|
||||||
|
|
||||||
|
def test_override_required_parameters_in_config(self):
|
||||||
|
self.config = tempfile.mktemp(prefix='cb_conf')
|
||||||
|
config_override = {
|
||||||
|
'remote': '/var/empty',
|
||||||
|
'images': {},
|
||||||
|
'branches': {},
|
||||||
|
}
|
||||||
|
with open('tests/minimal_config.yaml') as f:
|
||||||
|
cfg = yaml.safe_load(f)
|
||||||
|
|
||||||
|
for parameter in ['remote', 'images', 'branches']:
|
||||||
|
with open(self.config, 'w') as f:
|
||||||
|
yaml.safe_dump(update(cfg, {parameter: None}), f)
|
||||||
|
|
||||||
|
self.kwargs.update(config=self.config)
|
||||||
|
self.kwargs.update(config_override=config_override)
|
||||||
|
CB(**self.kwargs)
|
||||||
|
|
||||||
def test_run_already_running(self):
|
def test_run_already_running(self):
|
||||||
self.kwargs.update(config='tests/minimal_config.yaml')
|
self.kwargs.update(config='tests/minimal_config.yaml')
|
||||||
cb = CB(**self.kwargs) # noqa F841
|
cb = CB(**self.kwargs) # noqa F841
|
||||||
|
Loading…
x
Reference in New Issue
Block a user