Exemplo n.º 1
0
    def _validate_security_rules(self) -> None:
        """Checks if the security rules defined in the plugin configuration are valid boolean expressions or raises
        a ConfigurationError exception otherwise."""

        def _get_error_msg_for(rule_name: str) -> str:
            return f"Invalid boolean expression for '{rule_name}' in {self.label} file source plugin configuration."

        if self.requires_roles and not BooleanExpressionEvaluator.is_valid_expression(self.requires_roles):
            raise ConfigurationError(_get_error_msg_for("requires_roles"))
        if self.requires_groups and not BooleanExpressionEvaluator.is_valid_expression(self.requires_groups):
            raise ConfigurationError(_get_error_msg_for("requires_groups"))
Exemplo n.º 2
0
def test_is_valid_expression_return_false_when_invalid(expr: str):
    result = BooleanExpressionEvaluator.is_valid_expression(expr)
    assert result is False
Exemplo n.º 3
0
def test_is_valid_expression_return_true_when_valid(expr: str, _: bool):
    result = BooleanExpressionEvaluator.is_valid_expression(expr)
    assert result is True