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
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', []) )
def validate(self, expr): return expressions.validate(expr).get('errors', [])