69 lines
2.3 KiB
JSON
69 lines
2.3 KiB
JSON
{
|
|
"fixtures": [
|
|
{
|
|
"name": "dangling_action_reference",
|
|
"description": "Plan references an action that does not exist in the registry",
|
|
"input": {
|
|
"plan_id": "plan-001",
|
|
"action_ref": "local/nonexistent-action",
|
|
"project_refs": ["local/my-project"]
|
|
},
|
|
"expected_error": "action not found: local/nonexistent-action"
|
|
},
|
|
{
|
|
"name": "unresolvable_project_path",
|
|
"description": "Plan references a project with a path that cannot be resolved",
|
|
"input": {
|
|
"plan_id": "plan-002",
|
|
"action_ref": "local/build-app",
|
|
"project_refs": ["local/../../escape-project"]
|
|
},
|
|
"expected_error": "unresolvable project path: local/../../escape-project"
|
|
},
|
|
{
|
|
"name": "missing_actor_for_phase",
|
|
"description": "Action config missing the required actor for the current phase",
|
|
"input": {
|
|
"action_name": "local/incomplete-action",
|
|
"phase": "execution",
|
|
"actor_config": {
|
|
"strategy_actor": "openai/gpt-4"
|
|
}
|
|
},
|
|
"expected_error": "missing actor for phase 'execution': execution_actor not configured"
|
|
},
|
|
{
|
|
"name": "dangling_parent_plan_id",
|
|
"description": "Plan references a parent plan that does not exist",
|
|
"input": {
|
|
"plan_id": "plan-child-001",
|
|
"parent_plan_id": "plan-parent-missing",
|
|
"action_ref": "local/build-app"
|
|
},
|
|
"expected_error": "parent plan not found: plan-parent-missing"
|
|
},
|
|
{
|
|
"name": "resource_type_not_registered",
|
|
"description": "Resource references a type that is not in the resource type registry",
|
|
"input": {
|
|
"resource_name": "my-custom-resource",
|
|
"resource_type": "custom/unregistered-type",
|
|
"project_ref": "local/my-project"
|
|
},
|
|
"expected_error": "resource type not registered: custom/unregistered-type"
|
|
},
|
|
{
|
|
"name": "circular_resource_dependency",
|
|
"description": "Resource DAG contains a circular dependency chain",
|
|
"input": {
|
|
"resources": [
|
|
{"name": "res-a", "depends_on": ["res-b"]},
|
|
{"name": "res-b", "depends_on": ["res-c"]},
|
|
{"name": "res-c", "depends_on": ["res-a"]}
|
|
]
|
|
},
|
|
"expected_error": "circular dependency detected: res-a -> res-b -> res-c -> res-a"
|
|
}
|
|
]
|
|
}
|