Esempio n. 1
0
    def _validate_expressions(cls, spec):
        result = []
        expr_schema_paths = cls.get_expr_schema_paths()

        for expr_path, schema_path in six.iteritems(expr_schema_paths):
            expr = utils.get_dict_value(spec, expr_path) or ''
            errors = expressions.validate(expr).get('errors', [])

            for error in errors:
                error['spec_path'] = expr_path
                error['schema_path'] = schema_path

            result += errors

        return result
Esempio n. 2
0
    def test_mix_types(self):
        expr = '<% $.foo %> and {{ _.foo }}'

        expected_errors = [
            {
                'expression': expr,
                'message': (
                    'The statement contains multiple expression '
                    'types which is not supported.'
                ),
                'type': 'unspecified'
            }
        ]

        result = expressions.validate(expr)

        self.assertListEqual(
            expected_errors,
            result.get('errors', [])
        )
Esempio n. 3
0
 def validate(self, expr):
     return expressions.validate(expr).get('errors', [])