Files
cleveragents-core/features/cloud_handler_coverage.feature

55 lines
2.6 KiB
Gherkin

Feature: Cloud Handler Coverage
Scenarios that exercise previously uncovered code paths in the
cloud resource handler module (resource/handlers/cloud.py).
Background:
Given the cloud handler module is imported
# --- extract_provider: hierarchical prefix matching (lines 249-251) ---
Scenario: extract_provider returns aws for hierarchical aws-account type
When I extract the provider from type name "aws-account"
Then the extracted provider should be "aws"
Scenario: extract_provider returns gcp for hierarchical gcp-project type
When I extract the provider from type name "gcp-project"
Then the extracted provider should be "gcp"
Scenario: extract_provider returns azure for hierarchical azure-vm type
When I extract the provider from type name "azure-vm"
Then the extracted provider should be "azure"
# --- extract_provider: returns None for generic cloud-* (line 253) ---
Scenario: extract_provider returns None for generic cloud base type
When I extract the provider from type name "cloud-generic"
Then the extracted provider should be None
# --- resolve_credentials: explicit properties take priority (lines 302-303) ---
Scenario: resolve_credentials uses explicit properties over env vars
Given chcov the environment variable "AWS_ACCESS_KEY_ID" is set to "env-key"
When I resolve credentials for provider "aws" with explicit property "access-key-id" set to "explicit-key"
Then the resolved credential "access-key-id" should be "explicit-key"
# --- validate_credentials: unknown provider (lines 331-333) ---
Scenario: validate_credentials returns errors for unknown provider
When I validate credentials for unknown provider "digitalocean"
Then the validation errors should mention unknown provider "digitalocean"
# --- CloudResourceHandler.resolve: generic cloud-* type (lines 420-423) ---
Scenario: CloudResourceHandler.resolve raises NotImplementedError for generic cloud type
Given I have a cloud resource with type "cloud-storage"
When I call resolve on the cloud resource handler
Then a NotImplementedError should be raised mentioning generic type "cloud-storage"
# --- CloudResourceHandler.resolve: unknown provider mapping (lines 428-431) ---
Scenario: CloudResourceHandler.resolve raises ValueError for unknown provider mapping
Given I have a cloud resource with type "fake-cloud-type"
And extract_provider is mocked to return "digitalocean"
When I call resolve on the cloud resource handler expecting a ValueError
Then a ValueError should be raised mentioning unknown provider "digitalocean"