def test_lt(self): self.assert_cib( DateUnaryExpr(DATE_OP_LT, "2014-06-26"), """ <date_expression id="X-expr" operation="lt" end="2014-06-26" /> """, )
def test_gt(self): self.assert_cib( DateUnaryExpr(DATE_OP_GT, "2014-06-26"), """ <date_expression id="X-expr" operation="gt" start="2014-06-26" /> """, )
def test_date_ok(self): # pylint: disable=no-self-use assert_report_item_list_equal( Validator( BoolExpr(BOOL_AND, [DateUnaryExpr(DATE_OP_GT, "2020-02-03")]) ).get_reports(), [], )
def test_propagate_errors_from_subexpressions(self): # pylint: disable=no-self-use assert_report_item_list_equal( Validator( BoolExpr( BOOL_OR, [ BoolExpr( BOOL_AND, [ RscExpr(None, None, "Dummy"), OpExpr("stop", None), ], ), BoolExpr( BOOL_AND, [ DateUnaryExpr(DATE_OP_GT, "a date"), NodeAttrExpr( NODE_ATTR_OP_EQ, "attr", "10", NODE_ATTR_TYPE_INTEGER, ), ], ), ], ), ).get_reports(), [ fixture.error( reports.codes.INVALID_OPTION_VALUE, option_name="date", option_value="a date", allowed_values="ISO 8601 date", cannot_be_empty=False, forbidden_characters=None, ), fixture.error( reports.codes.RULE_EXPRESSION_NOT_ALLOWED, expression_type=CibRuleExpressionType.OP_EXPRESSION, ), fixture.error( reports.codes.RULE_EXPRESSION_NOT_ALLOWED, expression_type=CibRuleExpressionType.RSC_EXPRESSION, ), fixture.error( reports.codes.RULE_EXPRESSION_NOT_ALLOWED, expression_type=CibRuleExpressionType.EXPRESSION, ), ], )
def test_date_bad(self): # pylint: disable=no-self-use assert_report_item_list_equal( Validator( BoolExpr(BOOL_AND, [DateUnaryExpr(DATE_OP_GT, "a date")])).get_reports(), [ fixture.error( reports.codes.INVALID_OPTION_VALUE, option_name="date", option_value="a date", allowed_values="ISO 8601 date", cannot_be_empty=False, forbidden_characters=None, ) ], )