forked from HAL9000/cleveragents-core
80 lines
2.0 KiB
Python
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]()
|