Files
prowler/tests/providers/stackit/stackit_fixtures.py
Johannes Engler a2824f7166 feat(stackit): add new provider with 4 checks (#9237)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Sergio Garcia <hello@mistercloudsec.com>
Co-authored-by: Hugo P.Brito <hugopbrit@gmail.com>
Co-authored-by: Hugo Pereira Brito <101209179+HugoPBrito@users.noreply.github.com>
2026-05-28 13:16:38 +02:00

55 lines
1.8 KiB
Python

from uuid import uuid4
from mock import MagicMock
from prowler.providers.stackit.models import StackITIdentityInfo
from prowler.providers.stackit.stackit_provider import StackitProvider
# StackIT Test Constants
STACKIT_PROJECT_ID = str(uuid4())
STACKIT_SERVICE_ACCOUNT_KEY_PATH = "/tmp/stackit-sa-key.json"
STACKIT_PROJECT_NAME = "Test Project"
def set_mocked_stackit_provider(
service_account_key_path: str = STACKIT_SERVICE_ACCOUNT_KEY_PATH,
project_id: str = STACKIT_PROJECT_ID,
identity: StackITIdentityInfo = None,
audit_config: dict = None,
fixer_config: dict = None,
scan_unused_services: bool = False,
) -> StackitProvider:
"""
Create a mocked StackIT provider for testing.
Args:
service_account_key_path: Path to the service account key file
(default: ``STACKIT_SERVICE_ACCOUNT_KEY_PATH`` constant)
project_id: The project ID to use (default: STACKIT_PROJECT_ID)
identity: Custom identity info (default: creates new StackITIdentityInfo)
audit_config: Audit configuration dict (default: None)
fixer_config: Fixer configuration dict (default: None)
Returns:
MagicMock: A mocked StackitProvider instance
"""
if identity is None:
identity = StackITIdentityInfo(
project_id=project_id,
project_name=STACKIT_PROJECT_NAME,
)
provider = MagicMock()
provider.type = "stackit"
provider.identity = identity
provider.session = {
"project_id": project_id,
"service_account_key_path": service_account_key_path,
}
provider.audit_config = audit_config if audit_config else {}
provider.fixer_config = fixer_config if fixer_config else {}
provider.scan_unused_services = scan_unused_services
provider.auth_method = "service_account_key"
return provider