mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-04 19:21:51 +00:00
a2824f7166
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>
55 lines
1.8 KiB
Python
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
|