Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
 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)
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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)
Beispiel #10
0
def validation_raise(schema, *records):
    return validate_many(records, schema, raise_errors=True)
Beispiel #11
0
def validation_boolean(schema, *records):
    return validate_many(records, schema, raise_errors=False)