idea10-catopt-studio-a/tests/test_service_genome.py

27 lines
963 B
Python

# Simple tests for the ServiceGenome manifest and registry support
from catopt_studio import LocalProblem, ServiceGenome
from catopt_studio.registry import InMemoryRegistry
def test_service_genome_dataclass_and_registry():
sg = ServiceGenome(
runtime_role="local-solver",
capability_vector={"cpu": 2, "mem_mb": 256},
resource_envelope={"cpu_cycles_per_iter": 1000000},
safety_invariants={"max_actuation_rate": 5},
compliance_hook="https://example.com/check",
version="v0.1",
)
# ensure fields exist and are accessible
assert sg.runtime_role == "local-solver"
assert sg.capability_vector["cpu"] == 2
# registry roundtrip
reg = InMemoryRegistry()
reg.register_contract("svc1", "local-solver", {"schema": "sg-v1"})
reg.register_service_genome("svc1", sg.__dict__)
got = reg.get_service_genome("svc1")
assert got is not None
assert got["genome"]["version"] == "v0.1"