"""Unit tests for parser schema validator.""" def test_valid_output_passes(sample_parser_output): from libs.parser.schema_validator import validate_parser_output errors = validate_parser_output(sample_parser_output) assert errors == [] def test_missing_required_field(sample_parser_output): from libs.parser.schema_validator import validate_parser_output del sample_parser_output["event_type"] errors = validate_parser_output(sample_parser_output) assert len(errors) > 0 def test_invalid_event_type(sample_parser_output): from libs.parser.schema_validator import validate_parser_output sample_parser_output["event_type"] = "not_a_valid_type" errors = validate_parser_output(sample_parser_output) assert len(errors) > 0 def test_confidence_out_of_range(sample_parser_output): from libs.parser.schema_validator import validate_parser_output sample_parser_output["confidence"]["overall"] = 1.5 errors = validate_parser_output(sample_parser_output) assert len(errors) > 0 def test_is_valid_function(sample_parser_output): from libs.parser.schema_validator import is_valid assert is_valid(sample_parser_output) is True def test_is_valid_false(sample_parser_output): from libs.parser.schema_validator import is_valid sample_parser_output["event_direction"] = "invalid_value" assert is_valid(sample_parser_output) is False