Files
troupe-standup/wizard-work/spark/test_validator.py
T
2026-10-28 05:56:06 +00:00

42 lines
1.4 KiB
Python

#!/usr/bin/env python3
"""Test runner for json_schema_cli.py"""
import sys
sys.path.insert(0, '/root/.hermes/wizard-outputs/spark')
from json_schema_cli import validate_data, load_json
print("=" * 50)
print("JSON Schema Validator Tests")
print("=" * 50)
# Load test schema
schema = load_json('/root/.hermes/wizard-outputs/spark/test_schema.json')
# Test 1: Valid data
print("\nTest 1: Valid data")
valid_data = load_json('/root/.hermes/wizard-outputs/spark/valid_test_data.json')
errors = validate_data(valid_data, schema)
print(f" Data: {valid_data}")
print(f" Errors: {errors}")
print(f" Valid: {len(errors) == 0}")
assert len(errors) == 0, "Valid data should pass"
# Test 2: Invalid data (age is string)
print("\nTest 2: Invalid data")
invalid_data = load_json('/root/.hermes/wizard-outputs/spark/invalid_test_data.json')
errors = validate_data(invalid_data, schema)
print(f" Data: {invalid_data}")
print(f" Errors: {errors}")
print(f" Valid: {len(errors) == 0}")
assert len(errors) > 0, "Invalid data should fail"
# Test 3: Missing required field
print("\nTest 3: Missing required field")
missing_field = {"name": "Charlie"} # Missing age
errors = validate_data(missing_field, schema)
print(f" Data: {missing_field}")
print(f" Errors: {errors}")
assert len(errors) > 0, "Missing required field should fail"
print("\n" + "=" * 50)
print("All tests PASSED!")
print("=" * 50)