From 297622ad2b36910ea3705c68bde585fb192ee3f5 Mon Sep 17 00:00:00 2001 From: Paul Cuzner Date: Thu, 18 Feb 2021 16:09:27 +1300 Subject: [PATCH] mgr/cephadm:Unit tests updated to account for upgrades Upgrades may change the config checks, so the tests now validate that new checks and old bogus checks are handled correctly Signed-off-by: Paul Cuzner (cherry picked from commit bf02fb98bb7159baa376010fa6daae0a3ebbddb2) --- .../mgr/cephadm/tests/test_configchecks.py | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/pybind/mgr/cephadm/tests/test_configchecks.py b/src/pybind/mgr/cephadm/tests/test_configchecks.py index c24562aa945cb..c889b1ffde3fc 100644 --- a/src/pybind/mgr/cephadm/tests/test_configchecks.py +++ b/src/pybind/mgr/cephadm/tests/test_configchecks.py @@ -224,7 +224,7 @@ def mgr(): mgr.cache.facts, mgr.cache.daemons, mgr.daemon_to_host = \ generate_testdata(public_network='10.9.64.0/24', cluster_network='') mgr.module_option.update({ - "config_checks_enabled": 'true', + "config_checks_enabled": True, }) yield mgr @@ -255,6 +255,7 @@ class FakeMgr: return self.datastore.get(keyname, None) def set_store(self, keyname: str, value: str) -> None: + self.datastore[keyname] = value return None def _ceph_get_server(self) -> None: @@ -303,6 +304,37 @@ class FakeMgr: class TestConfigCheck: + def test_to_json(self, mgr): + checker = CephadmConfigChecks(mgr) + out = checker.to_json() + assert out + assert len(out) == len(checker.health_checks) + + def test_old_checks_removed(self, mgr): + mgr.datastore.update({ + "config_checks": '{"bogus_one": "enabled", "bogus_two": "enabled", ' + '"kernel_security": "enabled", "public_network": "enabled", ' + '"kernel_version": "enabled", "network_missing": "enabled", ' + '"osd_mtu_size": "enabled", "osd_linkspeed": "enabled", ' + '"os_subscription": "enabled", "ceph_release": "enabled"}' + }) + checker = CephadmConfigChecks(mgr) + raw = mgr.get_store('config_checks') + checks = json.loads(raw) + assert "bogus_one" not in checks + assert "bogus_two" not in checks + assert len(checks) == len(checker.health_checks) + + def test_new_checks(self, mgr): + mgr.datastore.update({ + "config_checks": '{"kernel_security": "enabled", "public_network": "enabled", ' + '"osd_mtu_size": "enabled", "osd_linkspeed": "enabled"}' + }) + checker = CephadmConfigChecks(mgr) + raw = mgr.get_store('config_checks') + checks = json.loads(raw) + assert len(checks) == len(checker.health_checks) + def test_no_issues(self, mgr): checker = CephadmConfigChecks(mgr) checker.cluster_network_list = [] -- 2.39.5