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
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
91 lines
4.4 KiB
Plaintext
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
|