feat: add deterministic small cluster seed

This commit is contained in:
Sergey Antropoff
2026-07-12 23:56:06 +03:00
parent 882ae97fcf
commit 7a668127a3
7 changed files with 179 additions and 1 deletions
+36
View File
@@ -0,0 +1,36 @@
"""Deterministic seed profile tests."""
from app.simulation.seed import small_profile, stable_id
def test_small_profile_has_stable_logical_state() -> None:
first = small_profile()
second = small_profile()
assert first == second
assert first.logical_state() == {
"profile": "small",
"nodes": [
{"name": "pve1", "status": "online"},
{"name": "pve2", "status": "online"},
],
"resources": [
{
"kind": "qemu",
"external_id": "100",
"node": "pve1",
"state": {"name": "demo", "status": "stopped"},
},
{
"kind": "storage",
"external_id": "local",
"node": "pve1",
"state": {"content": ["iso", "backup"]},
},
],
}
def test_stable_ids_are_namespaced_and_repeatable() -> None:
assert stable_id("qemu:100") == stable_id("qemu:100")
assert stable_id("qemu:100") != stable_id("qemu:101")