"""vSphere REST mapper unit tests.""" from app.vsphere.inventory import ManagedObject from app.vsphere.rest import mappers def test_vm_summary_maps_power_and_hardware() -> None: obj = ManagedObject( moid="vm-101", type="VirtualMachine", name="web-01", parent_moid="group-v23", props={"power_state": "POWERED_ON", "cpu_count": 2, "memory_size_mib": 4096}, ) summary = mappers.vm_summary(obj) assert summary["vm"] == "vm-101" assert summary["name"] == "web-01" assert summary["power_state"] == "POWERED_ON" assert summary["cpu_count"] == 2 assert summary["memory_size_MiB"] == 4096 def test_host_and_datastore_summaries() -> None: host = ManagedObject( moid="host-11", type="HostSystem", name="esxi01.lab.local", parent_moid="domain-c21", props={"connection_state": "CONNECTED", "power_state": "POWERED_ON"}, ) ds = ManagedObject( moid="datastore-31", type="Datastore", name="datastore1", parent_moid="group-s23", props={"type": "VMFS", "capacity": 100, "free_space": 40}, ) assert mappers.host_summary(host)["host"] == "host-11" assert mappers.datastore_summary(ds)["free_space"] == 40