Files
temp/robot/helper_actor_registry_persistence.py

80 lines
2.0 KiB
Python

"""Helper script for actor registry persistence Robot tests.
Invoked by Robot Framework via ``Run Process`` to verify domain-model
behaviour in a subprocess with the real package installed.
Usage::
python helper_actor_registry_persistence.py <test_name>
Where *test_name* is one of:
- ``list_yaml_metadata`` - verify yaml_text / compiled_metadata round-trip
- ``schema_version_default`` - verify default schema_version is ``"1.0"``
- ``namespaced_name`` - verify a namespaced name is preserved
"""
from __future__ import annotations
import json
import sys
def _test_list_yaml_metadata() -> None:
from cleveragents.domain.models.core.actor import Actor
actor = Actor(
name="local/test",
provider="openai",
model="gpt-4",
config_hash=Actor.compute_hash({}),
yaml_text="name: local/test\nprovider: openai\nmodel: gpt-4",
schema_version="1.0",
compiled_metadata={"nodes": 2},
)
print(
json.dumps(
{
"name": actor.name,
"schema_version": actor.schema_version,
"has_yaml": actor.yaml_text is not None,
"has_meta": actor.compiled_metadata is not None,
}
)
)
def _test_schema_version_default() -> None:
from cleveragents.domain.models.core.actor import Actor
actor = Actor(
name="local/default-ver",
provider="openai",
model="gpt-4",
config_hash=Actor.compute_hash({}),
)
print(actor.schema_version)
def _test_namespaced_name() -> None:
from cleveragents.domain.models.core.actor import Actor
actor = Actor(
name="local/valid-name",
provider="openai",
model="gpt-4",
config_hash=Actor.compute_hash({}),
)
print(actor.name)
_TESTS = {
"list_yaml_metadata": _test_list_yaml_metadata,
"schema_version_default": _test_schema_version_default,
"namespaced_name": _test_namespaced_name,
}
if __name__ == "__main__":
name = sys.argv[1]
_TESTS[name]()