mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-27 22:04:20 +00:00
fix(oci): use home region for identity bootstrap (#12909)
Co-authored-by: Pedro Martín <pedromarting3@gmail.com>
This commit is contained in:
1 parent
f23b38a269
commit
01d7df6fce
26 files changed
+383
-60
No files matched your search
@@ -543,6 +543,58 @@ class TestOraclecloudProviderInit:
|
||||
assert mock_get_regions_to_audit.call_args_list[0].args == (None,)
|
||||
assert provider.regions == all_subscribed_regions
|
||||
|
||||
def test_init_with_home_region_bootstraps_there_without_scan_filter(self):
|
||||
mock_session = OCISession(
|
||||
config={"region": "me-abudhabi-1"}, signer=None, profile=None
|
||||
)
|
||||
mock_identity = OCIIdentityInfo(
|
||||
tenancy_id="ocid1.tenancy.oc1..aaaaaaaexample",
|
||||
tenancy_name="test-tenancy",
|
||||
user_id="ocid1.user.oc1..aaaaaaaexample",
|
||||
region="me-abudhabi-1",
|
||||
profile=None,
|
||||
audited_regions=set(),
|
||||
audited_compartments=[],
|
||||
)
|
||||
all_subscribed_regions = [
|
||||
OCIRegion(key="me-abudhabi-1", name="me-abudhabi-1", is_home_region=True),
|
||||
OCIRegion(key="me-dubai-1", name="me-dubai-1", is_home_region=False),
|
||||
]
|
||||
|
||||
with (
|
||||
patch(
|
||||
"prowler.providers.oraclecloud.oraclecloud_provider.OraclecloudProvider.setup_session",
|
||||
return_value=mock_session,
|
||||
) as mock_setup_session,
|
||||
patch(
|
||||
"prowler.providers.oraclecloud.oraclecloud_provider.OraclecloudProvider.set_identity",
|
||||
return_value=mock_identity,
|
||||
),
|
||||
patch(
|
||||
"prowler.providers.oraclecloud.oraclecloud_provider.OraclecloudProvider.get_regions_to_audit",
|
||||
return_value=all_subscribed_regions,
|
||||
) as mock_get_regions_to_audit,
|
||||
patch(
|
||||
"prowler.providers.oraclecloud.oraclecloud_provider.OraclecloudProvider.get_compartments_to_audit",
|
||||
return_value=["ocid1.compartment.oc1..aaaaaaaexample"],
|
||||
),
|
||||
patch("prowler.providers.common.provider.Provider.set_global_provider"),
|
||||
):
|
||||
provider = OraclecloudProvider(
|
||||
user="ocid1.user.oc1..aaaaaaaexample",
|
||||
fingerprint="aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99",
|
||||
key_content="fake-base64-key-content",
|
||||
tenancy="ocid1.tenancy.oc1..aaaaaaaexample",
|
||||
home_region="me-abudhabi-1",
|
||||
config_content={"dummy": True},
|
||||
mutelist_content={"Accounts": {}},
|
||||
)
|
||||
|
||||
assert mock_setup_session.call_args.kwargs["region"] == "me-abudhabi-1"
|
||||
assert mock_get_regions_to_audit.call_args_list[0].args == (None,)
|
||||
assert provider.regions == all_subscribed_regions
|
||||
assert provider.home_region == "me-abudhabi-1"
|
||||
|
||||
def test_init_with_config_file_auth_without_region_uses_session_config_region_for_identity(
|
||||
self,
|
||||
):
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
from prowler.providers.oraclecloud.config import OCI_REGIONS
|
||||
|
||||
UI_REGIONS_FILE = (
|
||||
Path(__file__).resolve().parents[3]
|
||||
/ "ui"
|
||||
/ "lib"
|
||||
/ "provider-credentials"
|
||||
/ "oci-regions.ts"
|
||||
)
|
||||
|
||||
|
||||
def test_ui_home_region_list_matches_sdk_regions():
|
||||
ui_regions = set(
|
||||
re.findall(r'"([a-z]{2,3}-[a-z-]+-\d+)"', UI_REGIONS_FILE.read_text())
|
||||
)
|
||||
|
||||
assert ui_regions == set(OCI_REGIONS)
|
||||
Reference in new issue
Block a user