Files
cleveragents-core/robot/git_worktree_class_methods.robot
T
HAL9000 c87a706bf1
CI / lint (pull_request) Failing after 1m14s
CI / quality (pull_request) Successful in 1m41s
CI / typecheck (pull_request) Successful in 1m46s
CI / security (pull_request) Successful in 2m25s
CI / coverage (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 30s
CI / helm (pull_request) Successful in 33s
CI / build (pull_request) Successful in 49s
CI / e2e_tests (pull_request) Successful in 4m5s
CI / integration_tests (pull_request) Successful in 7m46s
CI / unit_tests (pull_request) Failing after 9m50s
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 6s
fix(cli): resolve typecheck failures and add missing infrastructure methods
Add GitWorktreeSandbox.cleanup_stale() and diff_against_head() class
methods, create strategy_actor module with resolve_strategy_actor(),
add PlanApplyService.correction_diff() method, and fix _get_apply_service()
and _get_plan_executor() to use correct API signatures.

Add Behave BDD unit tests and Robot Framework integration tests for all
new functionality.

ISSUES CLOSED: #8628
2026-05-05 05:18:02 +00:00

91 lines
4.4 KiB
Plaintext

*** Settings ***
Documentation Integration tests for GitWorktreeSandbox class methods:
... cleanup_stale and diff_against_head.
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_git_worktree_class_methods.py
*** Test Cases ***
Cleanup Stale With No Existing Branch Is Idempotent
[Documentation] cleanup_stale does nothing when no stale branch exists
${result}= Run Process ${PYTHON} ${HELPER} cleanup-stale-no-branch cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cleanup-stale-no-branch-ok
Cleanup Stale Removes Existing Branch
[Documentation] cleanup_stale removes a stale worktree branch
${result}= Run Process ${PYTHON} ${HELPER} cleanup-stale-removes-branch cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cleanup-stale-removes-branch-ok
Cleanup Stale With Empty Plan ID Is Safe
[Documentation] cleanup_stale handles empty plan_id without raising
${result}= Run Process ${PYTHON} ${HELPER} cleanup-stale-empty-plan-id cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cleanup-stale-empty-plan-id-ok
Diff Against Head Returns None When No Branch
[Documentation] diff_against_head returns None when no worktree branch exists
${result}= Run Process ${PYTHON} ${HELPER} diff-no-branch cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} diff-no-branch-ok
Diff Against Head Returns Diff When Branch Has Changes
[Documentation] diff_against_head returns a non-empty diff when the branch has commits
${result}= Run Process ${PYTHON} ${HELPER} diff-with-changes cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} diff-with-changes-ok
Diff Against Head With Empty Plan ID Returns None
[Documentation] diff_against_head returns None for empty plan_id
${result}= Run Process ${PYTHON} ${HELPER} diff-empty-plan-id cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} diff-empty-plan-id-ok
Strategy Actor Resolves To None For Stub Config
[Documentation] resolve_strategy_actor returns None when config_value is "stub"
${result}= Run Process ${PYTHON} ${HELPER} strategy-actor-stub cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} strategy-actor-stub-ok
Strategy Actor Resolves To None Without Registry
[Documentation] resolve_strategy_actor returns None when no registry is provided
${result}= Run Process ${PYTHON} ${HELPER} strategy-actor-no-registry cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} strategy-actor-no-registry-ok
Correction Diff Returns Output For Plan Without Changeset
[Documentation] correction_diff returns a message when no changeset exists
${result}= Run Process ${PYTHON} ${HELPER} correction-diff-no-changeset cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} correction-diff-no-changeset-ok
Correction Diff Returns Output For Plan With Changeset
[Documentation] correction_diff returns diff output when a changeset exists
${result}= Run Process ${PYTHON} ${HELPER} correction-diff-with-changeset cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} correction-diff-with-changeset-ok