Files
HAL9000 b0ff11ccef fix(resource): address PR review findings for AWS SDK CloudResourceHandler
- Extract AWS-specific logic into cloud_aws.py and cloud_providers.py to keep all files under the 500-line limit (cloud.py: 490 lines, cloud_aws.py: 498 lines, cloud_providers.py: 181 lines)
- Fix sandbox test regression: change cloud_resources.feature sandbox create scenario from "aws" to "gcp" provider (AWS no longer raises NotImplementedError)
- Add ImportError handling to step_sandbox_create/commit/rollback in cloud_resources_steps.py
- Remove all 9 type: ignore comments from production code using proper type narrowing and boto3/botocore type stubs in typings/
- Move plan_id validation before logger.info() in all three sandbox methods (fail-fast principle)
- Fix exception suppression: discover_aws_resources() now propagates exceptions instead of catching bare Exception
- Move deferred imports (PhysVirt, ResourceCapabilities, _derive_child_id) to module level in cloud_aws.py
- Split cloud_aws_sdk_steps.py (755 lines) into focused modules: cloud_aws_helpers.py, cloud_aws_session_steps.py, cloud_aws_discover_steps.py, cloud_aws_sandbox_steps.py
- Add CHANGELOG.md entry for AWS SDK integration feature
- Update robot/helper_cloud_resources.py to handle ImportError/ NotImplementedError for AWS sandbox operations

ISSUES CLOSED: #1021
2026-06-02 07:37:13 -04:00

15 lines
613 B
Python

"""Step definitions for cloud_aws_sdk.feature.
Tests AWS SDK integration for CloudResourceHandler using mocked boto3.
All steps use the "awssdk" prefix to avoid conflicts with existing
step definitions in other feature files.
Step definitions are split across focused modules for maintainability:
- cloud_aws_helpers.py: shared helpers (_make_resource, _make_mock_session)
- cloud_aws_session_steps.py: session building and resolve() steps
- cloud_aws_discover_steps.py: resource discovery steps
- cloud_aws_sandbox_steps.py: sandbox lifecycle steps
Behave auto-discovers all step files in this directory.
"""