Expand lab seed tiers, OpenAPI PARAMS, and console DATA/Params UX.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
"""Tests for nested PARAM field extraction from body_example."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from app.vsphere.rest.param_fields import body_fields_from_example, set_by_path
|
||||
|
||||
|
||||
def test_body_fields_from_example_flattens_nested_scalars() -> None:
|
||||
fields = body_fields_from_example(
|
||||
{
|
||||
"name": "lab-vm",
|
||||
"placement": {"host": "host-11", "folder": "group-v23"},
|
||||
"cpu": {"count": 2, "cores_per_socket": 1},
|
||||
"disks": [{"new_vmdk": {"name": "disk-0", "capacity": 1024}}],
|
||||
}
|
||||
)
|
||||
by_name = {field["name"]: field for field in fields}
|
||||
assert by_name["name"]["example"] == "lab-vm"
|
||||
assert by_name["name"]["type"] == "string"
|
||||
assert by_name["placement.host"]["example"] == "host-11"
|
||||
assert by_name["cpu.count"]["type"] == "integer"
|
||||
assert by_name["cpu.count"]["example"] == 2
|
||||
assert by_name["disks.0.new_vmdk.name"]["example"] == "disk-0"
|
||||
assert by_name["disks.0.new_vmdk.capacity"]["type"] == "integer"
|
||||
assert "placement" not in by_name
|
||||
assert "disks" not in by_name
|
||||
|
||||
|
||||
def test_set_by_path_builds_nested_dicts() -> None:
|
||||
root: dict = {}
|
||||
set_by_path(root, "placement.host", "host-11")
|
||||
set_by_path(root, "cpu.count", 2)
|
||||
assert root == {"placement": {"host": "host-11"}, "cpu": {"count": 2}}
|
||||
Reference in New Issue
Block a user