From 26eb9af4304301c240638b754e539586eaa91f6f Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Sun, 11 Jan 2026 10:16:49 -0300 Subject: [PATCH] test: add config builder test --- tests/test_config.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/test_config.py diff --git a/tests/test_config.py b/tests/test_config.py new file mode 100644 index 0000000..fd17823 --- /dev/null +++ b/tests/test_config.py @@ -0,0 +1,36 @@ +from metis.pkg import inventory, config + +def test_config_build_labels_and_taints(): + inv = inventory.Inventory( + classes=[ + inventory.NodeClass( + Name="c1", + Arch="arm64", + OS="linux", + Image="file:///tmp/base.img", + DefaultLabels={"a": "1"}, + DefaultTaints=["t1"], + ) + ], + Nodes=[ + inventory.NodeSpec( + Name="n1", + Class="c1", + Hostname="n1", + IP="1.1.1.1", + K3sRole="agent", + Labels={"b": "2"}, + Taints=["t2"], + LonghornDisks=[inventory.LonghornDisk(Mountpoint="/mnt/d1", UUID="uuid-1", FS="ext4")], + SSHUser="ubuntu", + SSHAuthorized=["key"], + ) + ], + ) + cfg, err = config.Build(inv, "n1") + assert err is None + assert cfg.Labels == {"a": "1", "b": "2"} + assert cfg.Taints == ["t1", "t2"] + assert cfg.Fstab[0].Mountpoint == "/mnt/d1" + assert cfg.Fstab[0].UUID == "uuid-1" + assert cfg.K3s.Role == "agent"