def _process_telemetry(self, telemetry_name: str, schema, telemetry): expected_type = extract_schema_type(schema) is_payload_valid = validate(schema, telemetry) if expected_type and not is_payload_valid: details = strings.invalid_primitive_schema_mismatch_template( telemetry_name, expected_type, telemetry) self._add_central_issue(severity=Severity.error, details=details)
def test_object_deep(self, value, expected_result): template = Template( load_json(FileNames.central_deeply_nested_device_template_file)) schema = template.get_schema("RidiculousObject") assert validate(schema, value) == expected_result
def test_str_enum(self, value, expected_result): template = Template(load_json(FileNames.central_device_template_file)) schema = template.get_schema("StringEnum") assert validate(schema, value) == expected_result
def test_vector(self, value, expected_result): assert validate({"schema": "vector"}, value) == expected_result
def test_geopoint(self, value, expected_result): assert validate({"schema": "geopoint"}, value) == expected_result
def test_is_iso8601_time_fail(self, to_validate): assert not validate({"schema": "time"}, to_validate)
def test_is_iso8601_duration_fail(self, to_validate): assert not validate({"schema": "duration"}, to_validate)
def test_is_iso8601_time_pass(self, to_validate): assert validate({"schema": "time"}, to_validate)
def test_empty(self): assert validate(None, None)
def test_str(self, value, expected_result): assert validate({"schema": "string"}, value) == expected_result
def test_int(self, value, expected_result): assert validate({"schema": "integer"}, value) == expected_result
def test_double_float_long(self, value, expected_result): assert validate({"schema": "double"}, value) == expected_result assert validate({"schema": "float"}, value) == expected_result assert validate({"schema": "long"}, value) == expected_result
def test_boolean(self, value, expected_result): assert validate({"schema": "boolean"}, value) == expected_result
def test_object_simple(self, value, expected_result): template = central_models.TemplateV1( load_json(FileNames.central_device_template_file) ) schema = template.get_schema("Object") assert validate(schema, value) == expected_result