Checked if release_pkg is set. If not, ensure a RuntimeError raised.

Added test case to verify RuntimeError is raised when release_pkg is not set.

Closes-Bug: #1904494
Change-Id: I421b52d502644b52f4e31162e74dea8a1befdfa0
This commit is contained in:
Linda Guo 2020-11-30 09:44:41 +11:00
parent 8b2eed06c4
commit 8c2283a508
2 changed files with 8 additions and 0 deletions

View File

@ -103,6 +103,8 @@ def make_default_select_release_handler():
# First make an attempt of determining release from a charm
# instance defined package codename dictionary.
singleton = get_charm_instance()
if singleton.release_pkg is None:
raise RuntimeError("release_pkg is not set")
release_version = singleton.get_os_codename_package(
singleton.release_pkg, singleton.package_codenames,
apt_cache_sufficient=(not singleton.source_config_key))

View File

@ -119,6 +119,12 @@ class TestDefaults(BaseOpenStackCharmTest):
self.assertEqual(release, 'one')
kv.set.assert_not_called()
kv.get.assert_called_once_with(chm.OPENSTACK_RELEASE_KEY, None)
# No release_pkg set, ensure a RuntimeError raised
kv.get.return_value = None
singleton.release_pkg = None
with self.assertRaises(RuntimeError):
h.map['function']()
singleton.release_pkg = "my-pkg"
# No release set, ensure it calls os_release
kv.reset_mock()
kv.get.return_value = None