def test_no_failures_are_raised(good_template): rule = FullWildcardPrincipalRule(None) result = rule.invoke(good_template) assert result.valid assert len(result.failed_rules) == 0 assert len(result.failed_monitored_rules) == 0
def test_failures_are_raised(bad_template): rule = FullWildcardPrincipalRule(None) result = rule.invoke(bad_template) assert not result.valid assert len(result.failed_rules) == 1 assert len(result.failed_monitored_rules) == 0 assert result.failed_rules[0].rule == "FullWildcardPrincipalRule" assert result.failed_rules[0].reason == "PolicyA should not allow wildcards in principals (principal: '*')"
def test_failures_are_raised(bad_template): rule = FullWildcardPrincipalRule(None) result = rule.invoke(bad_template) assert not result.valid assert compare_lists_of_failures( result.failures, [ Failure( rule_mode=RuleMode.BLOCKING, rule="FullWildcardPrincipalRule", reason= "PolicyA should not allow wildcards in principals (principal: '*')", granularity=RuleGranularity.RESOURCE, risk_value=RuleRisk.HIGH, actions=None, resource_ids={"PolicyA"}, ) ], )
def test_failures_are_raised(bad_template): rule = FullWildcardPrincipalRule(None) result = rule.invoke(bad_template) assert not result.valid assert compare_lists_of_failures( result.failures, [ Failure( rule_mode=RuleMode.BLOCKING, rule="FullWildcardPrincipalRule", reason= "PolicyA should not allow full wildcard '*', or wildcard in account ID like 'arn:aws:iam::*:12345' at '*'", granularity=RuleGranularity.RESOURCE, risk_value=RuleRisk.HIGH, actions=None, resource_ids={"PolicyA"}, resource_types={"AWS::IAM::Policy"}, ) ], )
def test_rule_supports_filter_config(bad_template, default_allow_all_config): rule = FullWildcardPrincipalRule(default_allow_all_config) result = rule.invoke(bad_template) assert result.valid assert compare_lists_of_failures(result.failures, [])
def test_no_failures_are_raised(good_template): rule = FullWildcardPrincipalRule(None) result = rule.invoke(good_template) assert result.valid assert compare_lists_of_failures(result.failures, [])