Skip to content

Commit 56d1c4c

Browse files
committed
test ability to set default config values
1 parent b78fb93 commit 56d1c4c

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

tests/test_Config.py

+26-1
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,14 @@ def default_resource(
165165
root_dataset: libzfs.ZFSDataset,
166166
zfs: libzfs.ZFS,
167167
) -> 'libioc.Resource.DefaultResource':
168-
return libioc.Resource.DefaultResource(
168+
default_resource = libioc.Resource.DefaultResource(
169169
dataset=root_dataset,
170170
logger=logger,
171171
zfs=zfs
172172
)
173+
yield default_resource
174+
if os.path.isfile(default_resource.config_handler.file):
175+
os.remove(default_resource.config_handler.file)
173176

174177
def test_default_config_path(
175178
self,
@@ -225,6 +228,28 @@ def test_fail_to_read_unknown_property(
225228
default_resource.config["user.valid-property"] = "ok"
226229
assert default_resource.config.data["user.valid-property"] == "ok"
227230

231+
def test_can_set_default_config(
232+
self,
233+
default_resource: 'libioc.Resource.DefaultResource'
234+
) -> None:
235+
defaults_config_path = default_resource.config_handler.file
236+
237+
default_resource.config.set("vnet", True);
238+
default_resource.save()
239+
with open(defaults_config_path, "r", encoding="UTF-8") as f:
240+
data = json.load(f)
241+
assert data["vnet"] == "yes"
242+
assert len(data.keys()) == 1
243+
244+
default_resource.config.set("user.comment", "hi there!");
245+
default_resource.save()
246+
with open(defaults_config_path, "r", encoding="UTF-8") as f:
247+
data = json.load(f)
248+
assert "user" in data.keys()
249+
assert "comment" in data["user"].keys()
250+
assert data["user"]["comment"] == "hi there!"
251+
assert len(data.keys()) == 2
252+
228253

229254
class TestBrokenConfig(object):
230255
"""Test the behavior of jails with invalid config."""

0 commit comments

Comments
 (0)