test(resource): update guard coverage for resource links
CI / lint (pull_request) Successful in 34s
CI / build (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 1m0s
CI / quality (pull_request) Successful in 47s
CI / helm (pull_request) Successful in 39s
CI / push-validation (pull_request) Successful in 38s
CI / security (pull_request) Successful in 1m41s
CI / e2e_tests (pull_request) Successful in 3m56s
CI / integration_tests (pull_request) Successful in 7m26s
CI / unit_tests (pull_request) Successful in 9m8s
CI / docker (pull_request) Successful in 1m25s
CI / coverage (pull_request) Successful in 13m46s
CI / status-check (pull_request) Successful in 2s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 58m54s
CI / lint (pull_request) Successful in 34s
CI / build (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 1m0s
CI / quality (pull_request) Successful in 47s
CI / helm (pull_request) Successful in 39s
CI / push-validation (pull_request) Successful in 38s
CI / security (pull_request) Successful in 1m41s
CI / e2e_tests (pull_request) Successful in 3m56s
CI / integration_tests (pull_request) Successful in 7m26s
CI / unit_tests (pull_request) Successful in 9m8s
CI / docker (pull_request) Successful in 1m25s
CI / coverage (pull_request) Successful in 13m46s
CI / status-check (pull_request) Successful in 2s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 58m54s
Aligns resource CLI coverage mocks with ResourceLinkModel guard queries and updates helper imports. ISSUES CLOSED: #6886
This commit is contained in:
@@ -56,7 +56,7 @@ Feature: Resource CLI coverage boost for remaining uncovered lines
|
||||
Given a mock resource service whose session reports edges on the resource
|
||||
When I invoke resource remove with --yes via CliRunner for the edged resource
|
||||
Then the CliRunner exit code should be non-zero
|
||||
And the CliRunner output should contain "edge(s) still reference it"
|
||||
And the CliRunner output should contain "link(s) still reference it"
|
||||
|
||||
# ---- resource_remove generic Exception rollback (lines 668-672) ----
|
||||
|
||||
|
||||
@@ -291,13 +291,13 @@ def step_mock_service_resource_edges(context: Context) -> None:
|
||||
|
||||
mock_session = MagicMock()
|
||||
|
||||
# ResourceEdgeModel query → count returns 3 (edges exist)
|
||||
edge_query = MagicMock()
|
||||
edge_query.filter.return_value.count.return_value = 3
|
||||
# ResourceLinkModel query → count returns 3 (links exist)
|
||||
link_query = MagicMock()
|
||||
link_query.filter.return_value.count.return_value = 3
|
||||
|
||||
mock_session.query.side_effect = _smart_query_side_effect(
|
||||
{
|
||||
"ResourceEdgeModel": edge_query,
|
||||
"ResourceLinkModel": link_query,
|
||||
}
|
||||
)
|
||||
svc._session.return_value = mock_session
|
||||
@@ -335,9 +335,9 @@ def step_mock_service_resource_delete_exception(context: Context) -> None:
|
||||
|
||||
mock_session = MagicMock()
|
||||
|
||||
# ResourceEdgeModel query → count returns 0 (no edges)
|
||||
edge_query = MagicMock()
|
||||
edge_query.filter.return_value.count.return_value = 0
|
||||
# ResourceLinkModel query → count returns 0 (no links)
|
||||
link_query = MagicMock()
|
||||
link_query.filter.return_value.count.return_value = 0
|
||||
|
||||
# ResourceModel query → first returns a mock row
|
||||
mock_row = MagicMock()
|
||||
@@ -346,7 +346,7 @@ def step_mock_service_resource_delete_exception(context: Context) -> None:
|
||||
|
||||
mock_session.query.side_effect = _smart_query_side_effect(
|
||||
{
|
||||
"ResourceEdgeModel": edge_query,
|
||||
"ResourceLinkModel": link_query,
|
||||
"ResourceModel": resource_query,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ from behave.runner import Context # type: ignore[import-untyped]
|
||||
from cleveragents.application.services.resource_registry_service import (
|
||||
ResourceRegistryService,
|
||||
)
|
||||
|
||||
from features.steps import resource_cli_steps as resource_cli
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
"""Helper script for tdd_resource_remove_children_guard.robot integration tests."""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -6,25 +5,20 @@ from __future__ import annotations
|
||||
import contextlib
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Iterator, NoReturn
|
||||
from collections.abc import Iterator
|
||||
from typing import NoReturn
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy.pool import StaticPool
|
||||
from typer.testing import CliRunner
|
||||
|
||||
ROOT: Path = Path(__file__).resolve().parents[1]
|
||||
SRC_DIR: str = str(ROOT / "src")
|
||||
if SRC_DIR not in sys.path:
|
||||
sys.path.insert(0, SRC_DIR)
|
||||
|
||||
from cleveragents.application.services.resource_registry_service import (
|
||||
ResourceRegistryService,
|
||||
)
|
||||
from cleveragents.cli.commands.resource import app as resource_app
|
||||
from cleveragents.core.exceptions import NotFoundError
|
||||
from cleveragents.infrastructure.database.models import Base
|
||||
from cleveragents.cli.commands.resource import app as resource_app
|
||||
|
||||
RUNNER: CliRunner = CliRunner()
|
||||
|
||||
@@ -102,9 +96,7 @@ def _scenario_block_parent_removal() -> None:
|
||||
result = _invoke(service, "remove", "--yes", parent_name)
|
||||
|
||||
if result.exit_code == 0:
|
||||
_fail(
|
||||
"resource remove succeeded unexpectedly despite existing DAG links."
|
||||
)
|
||||
_fail("resource remove succeeded unexpectedly despite existing DAG links.")
|
||||
if "link(s) still reference" not in result.stdout:
|
||||
_fail(
|
||||
"resource remove did not report remaining links when guard triggered.\n"
|
||||
@@ -152,7 +144,10 @@ def main(argv: list[str]) -> int:
|
||||
"""Entry point dispatcher for helper subcommands."""
|
||||
|
||||
if len(argv) < 2:
|
||||
_fail("Missing subcommand: expected 'block-parent-removal' or 'unlink-then-remove'.")
|
||||
_fail(
|
||||
"Missing subcommand: expected 'block-parent-removal' or "
|
||||
"'unlink-then-remove'."
|
||||
)
|
||||
|
||||
command = argv[1]
|
||||
if command == "block-parent-removal":
|
||||
|
||||
Reference in New Issue
Block a user