mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-11-08 20:33:41 +00:00
fix(oci): use home region for audit configuration API call (#10347)
Co-authored-by: Hugo P.Brito <hugopbrit@gmail.com>
This commit is contained in:
1 parent
0fd952ae2b
commit
6177fc6286
5 files changed
+135
-23
No files matched your search
@@ -255,3 +255,61 @@ class TestOraclecloudProviderInit:
|
||||
assert provider.compartments == mock_compartments
|
||||
assert provider.home_region == "us-ashburn-1"
|
||||
mock_set_global.assert_called_once_with(provider)
|
||||
|
||||
def test_home_region_uses_full_subscription_list_not_region_filter(self):
|
||||
"""Home region must come from the full subscription list, not the --region filter.
|
||||
|
||||
When auditing a single non-home region, the tenancy home region must still be
|
||||
resolved correctly so tenancy-level APIs (e.g. the Audit configuration) target it.
|
||||
"""
|
||||
mock_session = OCISession(
|
||||
config={"region": "eu-frankfurt-1"}, signer=None, profile="DEFAULT"
|
||||
)
|
||||
mock_identity = OCIIdentityInfo(
|
||||
tenancy_id="ocid1.tenancy.oc1..aaaaaaaexample",
|
||||
tenancy_name="test-tenancy",
|
||||
user_id="ocid1.user.oc1..aaaaaaaexample",
|
||||
region="eu-frankfurt-1",
|
||||
profile="DEFAULT",
|
||||
audited_regions=set(),
|
||||
audited_compartments=[],
|
||||
)
|
||||
# The audited set is the non-home region; the full subscription list includes home
|
||||
audited_regions = [
|
||||
OCIRegion(
|
||||
key="eu-frankfurt-1", name="eu-frankfurt-1", is_home_region=False
|
||||
),
|
||||
]
|
||||
all_subscribed_regions = [
|
||||
OCIRegion(
|
||||
key="eu-frankfurt-1", name="eu-frankfurt-1", is_home_region=False
|
||||
),
|
||||
OCIRegion(key="us-ashburn-1", name="us-ashburn-1", is_home_region=True),
|
||||
]
|
||||
with (
|
||||
patch(
|
||||
"prowler.providers.oraclecloud.oraclecloud_provider.OraclecloudProvider.setup_session",
|
||||
return_value=mock_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",
|
||||
side_effect=[audited_regions, all_subscribed_regions],
|
||||
),
|
||||
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(
|
||||
region={"eu-frankfurt-1"},
|
||||
config_content={"dummy": True},
|
||||
mutelist_content={"Accounts": {}},
|
||||
)
|
||||
|
||||
assert provider.regions == audited_regions
|
||||
assert provider.home_region == "us-ashburn-1"
|
||||
Reference in new issue
Block a user