Files
prowler/tests/providers/oraclecloud/oci_fixtures.py

99 lines
2.6 KiB
Python

from datetime import datetime
from unittest.mock import MagicMock
from prowler.providers.common.models import Audit_Metadata
from prowler.providers.oraclecloud.models import (
OCICompartment,
OCIIdentityInfo,
OCIRegionalClient,
OCISession,
)
OCI_TENANCY_ID = "ocid1.tenancy.oc1..aaaaaaaexample"
OCI_TENANCY_NAME = "test-tenancy"
OCI_COMPARTMENT_ID = "ocid1.compartment.oc1..aaaaaaaexample"
OCI_USER_ID = "ocid1.user.oc1..aaaaaaaexample"
OCI_REGION = "us-ashburn-1"
def set_mocked_oraclecloud_provider(
tenancy_id: str = OCI_TENANCY_ID,
tenancy_name: str = OCI_TENANCY_NAME,
user_id: str = OCI_USER_ID,
region: str = OCI_REGION,
) -> MagicMock:
"""Create a mocked OCI provider for testing"""
provider = MagicMock()
provider.type = "oraclecloud"
# Mock session
provider.session = OCISession(
config={
"tenancy": tenancy_id,
"user": user_id,
"region": region,
"fingerprint": "aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99",
},
signer=MagicMock(),
profile="DEFAULT",
)
# Mock identity
provider.identity = OCIIdentityInfo(
tenancy_id=tenancy_id,
tenancy_name=tenancy_name,
user_id=user_id,
region=region,
profile="DEFAULT",
audited_regions={region},
audited_compartments=[OCI_COMPARTMENT_ID],
)
# Mock compartments
provider.compartments = {
tenancy_id: OCICompartment(
id=tenancy_id,
name="root",
lifecycle_state="ACTIVE",
time_created=datetime.now(),
),
OCI_COMPARTMENT_ID: OCICompartment(
id=OCI_COMPARTMENT_ID,
name="test-compartment",
lifecycle_state="ACTIVE",
time_created=datetime.now(),
),
}
# Mock regions
provider.regions = [region]
# Mock audit metadata
provider.audit_metadata = Audit_Metadata(
services_scanned=0,
expected_checks=[],
completed_checks=0,
audit_progress=0,
)
# Mock config
provider.audit_config = {}
provider.fixer_config = {}
# Mock mutelist
provider.mutelist = MagicMock()
provider.mutelist.is_muted = MagicMock(return_value=False)
# Mock generate_regional_clients method
def mock_generate_regional_clients(service_name):
return {
region: OCIRegionalClient(
client=MagicMock(),
region=region,
)
}
provider.generate_regional_clients = mock_generate_regional_clients
return provider