コード例 #1
0
 def test_invalid_clause_nested(self, yaml_ast):
     test_yaml = yaml_ast(
         # language=yaml
         """
         or:
           - not:
           - and:
             - my_attribute2: { equals: value2 }
             - and:
               - my_attribute3: { equal: value3 }
             - and:
               - my_attribute4: { equal: value4 }
               - my_attribute5: { equal: value5 }
             - or:
               - my_attribute6: { equal: value6 }
               - my_attribute7: { equal: value7 }
               - or:
                 - not:
                   - my_attribute8: { equal: value8 }
                   - my_attribute9: { equal: value9 }
                 - and:
                   - not:
                     - or:
                       - my_attribute10: { equal: value10 }
                     - my_attribute11: { equal: value11 }
           - and:
             - my_attribute12: { equal: value12 }
             - my_attribute13: { equal: value13 }
         """)
     with pytest.raises(ParseError):
         ConditionClauseDefinition.parse(test_yaml)
         ConditionClauseDefinition.validate(test_yaml)
コード例 #2
0
 def test_valid_clause_nested(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         or:
           - not:
             - my_attribute1: [{equal: value1}]
           - and:
             - my_attribute2: { equal: value2 }
             - and:
               - my_attribute3: { equal: value3 }
             - and:
               - my_attribute4: { equal: value4 }
               - my_attribute5: { equal: value5 }
             - or:
               - my_attribute6: { equal: value6 }
               - my_attribute7: { equal: value7 }
               - or:
                 - not:
                   - my_attribute8: { equal: value8 }
                   - my_attribute9: { equal: value9 }
                 - and:
                   - not:
                     - or:
                       - my_attribute10: { equal: value10 }
                     - my_attribute11: { equal: value11 }
           - and:
             - my_attribute12: { equal: value12 }
             - my_attribute13: { equal: value13 }
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #3
0
 def test_valid_clause_direct_assertion(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         my_attribute: [ { equal: 42 } ]
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #4
0
 def test_valid_clause_direct_assertion_list(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         my_attribute: [ { min_length: 1 }, { min_length: 11 } ]
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #5
0
 def test_valid_clause_or(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         or:
           - my_attribute: [{equal: my_value}]
           - my_other_attribute: [{equal: my_other_value}]
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #6
0
 def test_valid_clause_and(self, yaml_ast):
     test_yaml = yaml_ast(
         # language=yaml
         """
         and:
           - my_attribute: [{equal: my_value}]
           - my_other_attribute: [{equal: my_other_value}]
         """)
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #7
0
 def test_valid_clause_not_and(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         not:
           - and:
             - my_attribute: [ { greater_than: 42 } ]
             - my_other_attribute: [ { less_than: 1000 } ]
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #8
0
 def test_invalid_clause_assert(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         assert:
           - my_attribute: [{equal: my_value}]
           - my_other_attribute: [{in_range: [1, 10]}]
         """
     )
     with pytest.raises(ParseError):
         ConditionClauseDefinition.parse(test_yaml)
         ConditionClauseDefinition.validate(test_yaml)
コード例 #9
0
 def test_invalid_clause_not(self, yaml_ast):
     test_yaml = yaml_ast(
         # language=yaml
         """
         nott:
           - my_attribute: [{equal: my_value}]
           - my_other_attribute: [{equal: my_other_value}]
         """)
     with pytest.raises(ParseError):
         ConditionClauseDefinition.parse(test_yaml)
         ConditionClauseDefinition.validate(test_yaml)
コード例 #10
0
 def test_valid_clause_or_not(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         or:
           - not:
             - my_attribute1: [{equal: value1}]
           - not:
             - my_attribute2: [{equal: value1}]
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)
コード例 #11
0
 def test_valid_clause_or_and_not(self, yaml_ast):
     test_yaml = yaml_ast(
         """
         or:
           - and:
             - protocol: { equal: http }
             - port: { equal: 80 }
           - and:
             - protocol: { equal: https }
             - port: { equal: 431 }
         """
     )
     ConditionClauseDefinition.parse(test_yaml)
     ConditionClauseDefinition.validate(test_yaml)