def test_validate_should_not_parse_schema_if_it_was_parsed_already(): named_schemas = {} parse_schema( { "name": "B", "type": "record", "fields": [{ "name": "bar", "type": "string" }] }, named_schemas, ) a_schema = parse_schema( { "name": "A", "type": "record", "fields": [{ "name": "b", "type": "B" }] }, named_schemas, ) records = [{"b": {"bar": "bar"}}] validate_many(records, a_schema) validate(records[0], a_schema)
def test_record_name_with_named_type_in_union(): schema = { "type": "record", "name": "my_record", "fields": [ { "name": "my_1st_union", "type": [ { "name": "foo", "type": "record", "fields": [{"name": "some_field", "type": "int"}], }, { "name": "bar", "type": "record", "fields": [{"name": "some_field", "type": "int"}], }, ], }, {"name": "my_2nd_union", "type": ["foo", "bar"]}, ], } records = [ { "my_1st_union": ("foo", {"some_field": 1}), "my_2nd_union": ("bar", {"some_field": 2}), } ] parsed_schema = parse_schema(schema) validate_many(records, parsed_schema)
def validate_all(self, msgs, schema_name): logger.debug( f'Validating {msgs} using the class {self.__class__.__name__} and schema {schema_name}' ) schema = self.schema_retriever.get_schema(schema_name=schema_name) if schema is None: return False else: return validation.validate_many(msgs, schema, raise_errors=True)
def validater(schema, records, runs=1): times = [] valid = [] for _ in range(runs): start = time.time() valid = validate_many(records, schema) end = time.time() times.append(end - start) print('... {0} runs averaged {1} seconds'.format(runs, (sum(times) / runs))) return valid
def validater(schema, records, runs=1): times = [] valid = [] schema = parse_schema(schema) for _ in range(runs): start = time.time() valid = validate_many(records, schema) end = time.time() times.append(end - start) print(f'... {runs} runs averaged {sum(times) / runs} seconds') return valid
def validater(schema, records, runs=1): times = [] valid = [] schema = parse_schema(schema) for _ in range(runs): start = time.time() valid = validate_many(records, schema) end = time.time() times.append(end - start) print('... {0} runs averaged {1} seconds'.format(runs, (sum(times) / runs))) return valid
def flush(self): if len(self.Events) != 0: if self.SchemaFile is not None: try: is_valid = validate_many(self.Events, self.Schema) if is_valid is True: with open(self.build_filename('-open'), self._filemode) as out: writer(out, self.Schema, self.Events) if self._filemode == 'wb': self._filemode = 'a+b' except Exception as e: L.error(e) self.Events = []
def validation_raise(schema, *records): return validate_many(records, schema, raise_errors=True)
def validation_boolean(schema, *records): return validate_many(records, schema, raise_errors=False)