diff options
Diffstat (limited to 'tests/unittests')
-rw-r--r-- | tests/unittests/cmd/devel/test_init.py | 29 | ||||
-rw-r--r-- | tests/unittests/config/test_schema.py | 3 |
2 files changed, 32 insertions, 0 deletions
diff --git a/tests/unittests/cmd/devel/test_init.py b/tests/unittests/cmd/devel/test_init.py new file mode 100644 index 00000000..503bc08f --- /dev/null +++ b/tests/unittests/cmd/devel/test_init.py @@ -0,0 +1,29 @@ +from unittest import mock + +from cloudinit import stages +from cloudinit.cmd.devel import read_cfg_paths +from tests.unittests.util import TEST_INSTANCE_ID, FakeDataSource + + +class TestReadCfgPaths: + def test_read_cfg_paths_fetches_cached_datasource(self, tmpdir): + init = stages.Init() + init._cfg = { + "system_info": { + "distro": "ubuntu", + "paths": {"cloud_dir": tmpdir, "run_dir": tmpdir}, + } + } + with mock.patch("cloudinit.cmd.devel.Init") as m_init: + with mock.patch.object(init, "_restore_from_cache") as restore: + restore.return_value = FakeDataSource(paths=init.paths) + with mock.patch( + "cloudinit.util.read_conf_from_cmdline", return_value={} + ): + m_init.return_value = init + paths = read_cfg_paths() + assert paths.get_ipath() is None + paths = read_cfg_paths(fetch_existing_datasource="trust") + assert ( + paths.get_ipath() == f"/var/lib/cloud/instances/{TEST_INSTANCE_ID}" + ) diff --git a/tests/unittests/config/test_schema.py b/tests/unittests/config/test_schema.py index ceb689a4..b5314b69 100644 --- a/tests/unittests/config/test_schema.py +++ b/tests/unittests/config/test_schema.py @@ -2060,3 +2060,6 @@ apt_reboot_if_required: Default: ``false``. Deprecated in version 22.2.\ expected_err.format(cfg_file=user_data_fn, id_path=id_path) == err ) assert "deprec" not in caplog.text + assert read_cfg_paths.call_args_list == [ + mock.call(fetch_existing_datasource="trust") + ] |