test(robot): add end-to-end integration tests for email categorization actor graph #50

Merged
CoreRasurae merged 3 commits from feature/m1-email-graph-integration-tests into master 2026-06-16 08:28:49 +00:00

3 Commits

Author SHA1 Message Date
CoreRasurae 06063a9602 fix(build): cap robotframework<7.0 for pabot 5.3 compatibility
CI / lint (pull_request) Successful in 42s
CI / typecheck (pull_request) Successful in 1m11s
CI / security (pull_request) Successful in 1m9s
CI / quality (pull_request) Successful in 36s
CI / build (pull_request) Successful in 1m1s
CI / integration_tests (pull_request) Successful in 1m33s
CI / unit_tests (pull_request) Successful in 3m37s
CI / coverage (pull_request) Successful in 3m16s
CI / status-check (pull_request) Successful in 4s
CI / lint (push) Successful in 55s
CI / typecheck (push) Successful in 1m6s
CI / security (push) Successful in 1m9s
CI / build (push) Successful in 46s
CI / quality (push) Successful in 57s
CI / integration_tests (push) Successful in 1m24s
CI / unit_tests (push) Successful in 3m28s
CI / coverage (push) Successful in 3m25s
CI / status-check (push) Successful in 3s
The CI server has pabot up to 5.3.0b1 only.  Pabot 5.x does not
support Robot Framework 7.x which removed the robot.errors module.
Capping robotframework at <7.0 ensures pabot can import robot.errors.
2026-06-15 23:13:49 +01:00
CoreRasurae 57b1a2e70e test(unit): increase BDD coverage to 97% for registry, LLM, YAML template error branches
Adds 4 Behave BDD feature files with 15 scenarios covering
previously untested error-path branches:

- registry_resolver_errors.feature (7 scenarios):
  Invalid semver, empty version lists, alias mismatches,
  ID/local/unknown reference error handling
- llm_agent_config_validation.feature (4 scenarios):
  Empty name, non-dict config, non-TemplateRenderer,
  non-str credential key validation
- llm_provider_url_canonicalization.feature (2 scenarios):
  URL canonicalization with explicit port and scheme lowercasing
- yaml_template_non_dict_errors.feature (2 scenarios):
  Non-dict YAML parse results in template engine and inline Jinja handler

Coverage: 96.8% -> 97.1%
2026-06-15 23:13:46 +01:00
CoreRasurae 38fe40553d test(robot): add end-to-end integration tests for email categorization actor graph
Adds 104 Robot Framework integration tests exercising the full
6-agent email categorization actor graph across five configuration
strategies: local, remote, mixed, component-decomposed (merge_configs),
and namespaced (local: refs via ReferenceResolver + LocalPackageStore).

- 7 new email graph YAML fixtures under tests/fixtures/email_graph/
- 7 namespaced component YAMLs with local namespace identifiers
- 9 robot test suite files (email_categorization_graph, per-agent,
  negative tests, merge_configs validation, components, namespaced)
- EmailGraphLib.py keyword library (executor, graph, merge, components)
- CleverActorsLib.py refactored into per-module libs:
  robot/lib/config_lib.py, app_lib.py, registry_lib.py
- email_testdata.resource with 12 realistic email scenarios
- All 104 integration tests pass, all 23 existing tests preserved

Closes #30
2026-06-15 23:13:35 +01:00