mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-23 12:31:54 +00:00
99 lines
2.6 KiB
Python
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
|