#!/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)