fix(alibabacloud): implement ram_password_policy_number and fix cs weekly check loading (#11683)

This commit is contained in:
Daniel Barranquero
2026-06-24 12:37:45 +02:00
committed by GitHub
parent dc228e8b36
commit 36be63af07
4 changed files with 109 additions and 0 deletions
@@ -0,0 +1,67 @@
from unittest import mock
from tests.providers.alibabacloud.alibabacloud_fixtures import (
set_mocked_alibabacloud_provider,
)
class TestRamPasswordPolicyNumber:
def test_numbers_not_required_fails(self):
ram_client = mock.MagicMock()
ram_client.audited_account = "1234567890"
ram_client.region = "cn-hangzhou"
with (
mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_alibabacloud_provider(),
),
mock.patch(
"prowler.providers.alibabacloud.services.ram.ram_password_policy_number.ram_password_policy_number.ram_client",
new=ram_client,
),
):
from prowler.providers.alibabacloud.services.ram.ram_password_policy_number.ram_password_policy_number import (
ram_password_policy_number,
)
from prowler.providers.alibabacloud.services.ram.ram_service import (
PasswordPolicy,
)
ram_client.password_policy = PasswordPolicy(require_numbers=False)
check = ram_password_policy_number()
result = check.execute()
assert len(result) == 1
assert result[0].status == "FAIL"
def test_numbers_required_passes(self):
ram_client = mock.MagicMock()
ram_client.audited_account = "1234567890"
ram_client.region = "cn-hangzhou"
with (
mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_alibabacloud_provider(),
),
mock.patch(
"prowler.providers.alibabacloud.services.ram.ram_password_policy_number.ram_password_policy_number.ram_client",
new=ram_client,
),
):
from prowler.providers.alibabacloud.services.ram.ram_password_policy_number.ram_password_policy_number import (
ram_password_policy_number,
)
from prowler.providers.alibabacloud.services.ram.ram_service import (
PasswordPolicy,
)
ram_client.password_policy = PasswordPolicy(require_numbers=True)
check = ram_password_policy_number()
result = check.execute()
assert len(result) == 1
assert result[0].status == "PASS"