test(coverage): add Behave BDD tests to improve unit test coverage across 53 source modules
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 35s
CI / security (pull_request) Successful in 50s
CI / unit_tests (pull_request) Successful in 2m46s
CI / integration_tests (pull_request) Successful in 3m16s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 5m6s
CI / lint (push) Successful in 13s
CI / quality (push) Successful in 16s
CI / build (push) Successful in 18s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 35s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m52s
CI / integration_tests (push) Successful in 3m8s
CI / docker (push) Successful in 39s
CI / coverage (push) Successful in 5m53s
CI / benchmark-publish (push) Successful in 16m55s
CI / benchmark-regression (pull_request) Successful in 33m0s
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 35s
CI / security (pull_request) Successful in 50s
CI / unit_tests (pull_request) Successful in 2m46s
CI / integration_tests (pull_request) Successful in 3m16s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 5m6s
CI / lint (push) Successful in 13s
CI / quality (push) Successful in 16s
CI / build (push) Successful in 18s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 35s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m52s
CI / integration_tests (push) Successful in 3m8s
CI / docker (push) Successful in 39s
CI / coverage (push) Successful in 5m53s
CI / benchmark-publish (push) Successful in 16m55s
CI / benchmark-regression (pull_request) Successful in 33m0s
Add 53 new .feature files and corresponding step definition files targeting uncovered lines identified in build/coverage.xml. Fix AmbiguousStep conflicts in 7 pre-existing step files by disambiguating step text. New tests cover: ACP clients/facade, actor CLI/config, application container, ACMS service/strategies, async worker, automation profile CLI, autonomy guardrail, bridge, change model, config CLI/service, context service, cross-plan correction, database models, decision service, decomposition clustering/service, discovery handler, langchain chat provider, langgraph nodes, materializers, multi-project service, plan apply/CLI/lifecycle/model/ preflight/resume/service, PostgreSQL analyzer, project CLI/context CLI, provider registry, reactive application/route, repositories, resolver handler, resource registry service, resume model, retry patterns, sandbox protocol, server CLI, skill CLI/service, skills registry, subplan execution/service, system CLI, UKO loader, UoW, and YAML template engine. Closes #645
This commit was merged in pull request #646.
This commit is contained in:
@@ -13,7 +13,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@init
|
||||
Scenario: PlanExecutor initialises successfully with valid lifecycle_service
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
When I construct a PlanExecutor with the mock lifecycle service
|
||||
Then the PlanExecutor should be created without error
|
||||
|
||||
@@ -21,14 +21,14 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@property
|
||||
Scenario: has_runtime is True when execution_context is provided
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a mock execution context
|
||||
When I construct a PlanExecutor with the mock lifecycle service and execution context
|
||||
Then the executor has_runtime property should be True
|
||||
|
||||
@property
|
||||
Scenario: has_runtime is False when no execution_context is provided
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
When I construct a PlanExecutor with the mock lifecycle service
|
||||
Then the executor has_runtime property should be False
|
||||
|
||||
@@ -36,14 +36,14 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@property
|
||||
Scenario: changeset_store returns store from execution_context
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a mock execution context with a changeset store
|
||||
When I construct a PlanExecutor with the mock lifecycle service and execution context
|
||||
Then the executor changeset_store should be the mock store
|
||||
|
||||
@property
|
||||
Scenario: changeset_store returns None when no execution_context
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
When I construct a PlanExecutor with the mock lifecycle service
|
||||
Then the executor changeset_store should be None
|
||||
|
||||
@@ -51,7 +51,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@strategize @error
|
||||
Scenario: run_strategize raises PlanError when plan is not in STRATEGIZE phase
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in EXECUTE phase
|
||||
When I attempt to run strategize on the executor
|
||||
@@ -61,7 +61,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@strategize @error
|
||||
Scenario: run_strategize raises ValidationError for empty plan_id
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
When I attempt to run strategize with an empty plan_id
|
||||
Then a PE ValidationError should be raised containing "plan_id"
|
||||
@@ -70,7 +70,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@strategize @error
|
||||
Scenario: run_strategize calls fail_strategize when an exception occurs during execution
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in STRATEGIZE phase
|
||||
And the lifecycle start_strategize will raise a RuntimeError
|
||||
@@ -80,7 +80,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@strategize @error
|
||||
Scenario: run_strategize records error_details on plan when exception occurs
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in STRATEGIZE phase that fails during actor execute
|
||||
When I attempt to run strategize and expect an exception
|
||||
@@ -91,7 +91,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@execute @error
|
||||
Scenario: run_execute raises PlanError when plan is not in EXECUTE phase
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in STRATEGIZE phase for execute guard
|
||||
When I attempt to run execute on the executor
|
||||
@@ -101,7 +101,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@execute @error
|
||||
Scenario: run_execute raises PlanError when plan state is not QUEUED
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in EXECUTE phase with PROCESSING state
|
||||
When I attempt to run execute on the executor
|
||||
@@ -111,7 +111,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@execute @error
|
||||
Scenario: run_execute raises PlanError when decision_root_id is None
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in EXECUTE phase with QUEUED state but no decision root
|
||||
When I attempt to run execute on the executor
|
||||
@@ -121,7 +121,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@execute @stub
|
||||
Scenario: run_execute routes to stub actor when no execution_context
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service and no execution context
|
||||
And the lifecycle returns a fully valid plan for stub execution
|
||||
When I run execute on the executor
|
||||
@@ -132,7 +132,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@execute @runtime
|
||||
Scenario: run_execute routes to runtime actor when execution_context is set
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a mock execution context
|
||||
And a PlanExecutor with the mock lifecycle service and execution context and tool runner
|
||||
And the lifecycle returns a fully valid plan for runtime execution
|
||||
@@ -178,7 +178,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@strategize
|
||||
Scenario: run_strategize succeeds with stream_callback on a valid plan
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service
|
||||
And the lifecycle returns a plan in STRATEGIZE phase
|
||||
And a stream event collector
|
||||
@@ -190,7 +190,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@strategize
|
||||
Scenario: run_strategize sets decision_root_id on execution_context when present
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a mock execution context
|
||||
And a PlanExecutor with the mock lifecycle and execution context
|
||||
And the lifecycle returns a plan in STRATEGIZE phase
|
||||
@@ -201,7 +201,7 @@ Feature: PlanExecutor coverage gaps
|
||||
|
||||
@execute @error
|
||||
Scenario: run_execute calls fail_execute when stub execution raises an error
|
||||
Given a mock plan lifecycle service
|
||||
Given a mock plan lifecycle service for plan executor
|
||||
And a PlanExecutor with the mock lifecycle service and no execution context
|
||||
And the lifecycle returns a fully valid plan for stub execution
|
||||
And the stub execute actor is patched to raise an error
|
||||
|
||||
Reference in New Issue
Block a user