Files
cleveragents-core/robot/wf14_server_mode_integration.robot
T
Luis Mendes d196e90779
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 25s
CI / lint (pull_request) Successful in 3m20s
CI / typecheck (pull_request) Successful in 3m55s
CI / security (pull_request) Successful in 4m3s
CI / quality (pull_request) Successful in 4m10s
CI / integration_tests (pull_request) Successful in 7m23s
CI / unit_tests (pull_request) Successful in 7m41s
CI / docker (pull_request) Successful in 1m9s
CI / e2e_tests (pull_request) Successful in 12m39s
CI / coverage (pull_request) Successful in 11m17s
CI / status-check (pull_request) Successful in 1s
CI / build (push) Successful in 21s
CI / lint (push) Successful in 3m17s
CI / quality (push) Successful in 3m46s
CI / typecheck (push) Successful in 3m53s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 4m1s
CI / unit_tests (push) Successful in 7m13s
CI / docker (push) Successful in 1m8s
CI / e2e_tests (push) Failing after 16m44s
CI / integration_tests (push) Failing after 16m44s
CI / coverage (push) Failing after 17m50s
CI / benchmark-publish (push) Successful in 34m0s
CI / status-check (push) Failing after 1s
CI / benchmark-regression (pull_request) Successful in 59m37s
test(integration): workflow example 14 — server mode team collaboration (supervised profile)
Implemented Robot Framework integration test suite validating the server
mode team collaboration workflow (Specification Example 14) with mocked
LLM providers and in-memory domain services. Tests cover server mode
configuration, config-registry diagnostics, namespace management, action
publishing to team namespaces with namespaced actor references, shared
action consumption via use_action(), and namespace-filtered plan monitoring
across namespaces. Uses standard integration test infrastructure with
mock AI.

Post-review fixes applied:
- F1: plan_namespace() now creates actions, calls use_action() to instantiate
  plans, and verifies namespace-filtered listing with non-empty results
- F2: Renamed actor_namespace() to action_actor_refs() with accurate
  docstring (tests action actor field references, not ActorService)
- F3: Added use_shared_action() subcommand covering spec Step 3 (use a
  shared action to create a plan and verify namespace inheritance)
- F5: Updated diagnostics() docstring to accurately describe scope (config
  registry verification, not full diagnostic operations)
- F7: Fixed _COMMANDS type from dict[str, object] to dict[str, Callable]
  removing type: ignore suppression
- F9: Extracted _make_config_service() factory to remove duplicated tempdir
  creation pattern
- F10: Added [Tags] to all Robot test cases for filtering support
- F11: Added automation_profile="supervised" to all create_action() calls
  for spec consistency
- M1: Fixed CHANGELOG wording from "mocked server backend" to "in-memory
  domain services" to accurately describe the test approach
- M5: Added symmetric phase and action_name assertions for beta plan in
  plan_namespace() to match alpha plan verification depth
- M6: Added strategy_actor and review_actor assertions after get_action()
  in action_actor_refs() for complete actor field persistence verification
- M8: Added core.namespace default value verification ("local") in
  diagnostics() subcommand
- L2: Added total unfiltered action count verification in shared_actions()
- L3: Added distinguishing tags (publish/shared) to disambiguate Robot
  test cases with previously identical tag sets
- L4: Added ActionState.AVAILABLE assertion for all actions in
  shared_actions() for consistency with action_namespace()

ISSUES CLOSED: #778
2026-03-26 22:33:19 +00:00

83 lines
4.5 KiB
Plaintext

*** Settings ***
Documentation Integration test for Workflow Example 14: server mode team collaboration
... Validates server mode configuration, diagnostics, namespace management,
... action publishing to team namespaces, and plan monitoring across namespaces.
... Uses the supervised automation profile as required by the specification.
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_wf14_server_mode.py
*** Test Cases ***
WF14 Server Mode Config
[Documentation] Set server.url, server.token, core.namespace config values and verify readback
[Tags] integration server-mode wf14 config
${result}= Run Process ${PYTHON} ${HELPER} config-server-mode cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-config-server-mode-ok
WF14 Diagnostics
[Documentation] Verify config registry contains required server-mode keys and that default values match the specification
[Tags] integration server-mode wf14 diagnostics
${result}= Run Process ${PYTHON} ${HELPER} diagnostics cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-diagnostics-ok
WF14 Action Publish To Namespace
[Documentation] Create a namespaced action and verify listing plus supervised-profile metadata
[Tags] integration server-mode wf14 action namespace publish
${result}= Run Process ${PYTHON} ${HELPER} action-namespace cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-action-namespace-ok
WF14 Action With Namespaced Actor References
[Documentation] Create an action referencing actors from different namespaces and verify fields are preserved
[Tags] integration server-mode wf14 action actor
${result}= Run Process ${PYTHON} ${HELPER} action-actor-refs cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-action-actor-refs-ok
WF14 Shared Action From Namespace
[Documentation] List actions from a specific namespace and verify shared actions are visible
[Tags] integration server-mode wf14 action namespace shared
${result}= Run Process ${PYTHON} ${HELPER} shared-actions cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-shared-actions-ok
WF14 Use Shared Action
[Documentation] Use a shared action with required args/project link and verify inherited actors plus initial phase
[Tags] integration server-mode wf14 plan use-action
${result}= Run Process ${PYTHON} ${HELPER} use-shared-action cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-use-shared-action-ok
WF14 Plan List Across Namespace
[Documentation] Create plans from namespaced actions and verify namespace plus phase-filtered monitoring
[Tags] integration server-mode wf14 plan namespace monitoring
${result}= Run Process ${PYTHON} ${HELPER} plan-namespace cwd=${WORKSPACE} timeout=30s
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Not Contain ${result.stdout}${result.stderr} Traceback
Should Contain ${result.stdout} wf14-plan-namespace-ok