DataDesigner/tests/engine/processing/gsonschema/test_exceptions.py
Johnny Greco f8c201e085
chore: update header script to check for diffs (#195)
* update script

* update headers

* refactor a bit and add test script

* update headers

* update for edge case

* update headers

* add step to get file creation date

* use git history to get copyright year

* generation type is printed with inference parameters

* fix unit test
2026-01-09 17:10:58 -05:00

42 lines
1.5 KiB
Python

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
import pytest
from jsonschema import ValidationError
from data_designer.engine.processing.gsonschema.exceptions import JSONSchemaValidationError
@pytest.mark.parametrize(
"test_case,message,expected_message",
[
("basic_error", "Test error message", "Test error message"),
("custom_message", "Custom validation error", "Custom validation error"),
("empty_message", "", ""),
],
)
def test_json_schema_validation_error_creation(test_case, message, expected_message):
error = JSONSchemaValidationError(message)
assert str(error) == expected_message
assert isinstance(error, ValidationError)
assert isinstance(error, JSONSchemaValidationError)
def test_json_schema_validation_error_attributes():
error = JSONSchemaValidationError("Test")
assert hasattr(error, "__dict__")
assert hasattr(error, "__str__")
def test_json_schema_validation_error_raising():
with pytest.raises(JSONSchemaValidationError, match="Test error"):
raise JSONSchemaValidationError("Test error")
def test_json_schema_validation_error_alias_compatibility():
error1 = ValidationError("test")
error2 = JSONSchemaValidationError("test")
assert isinstance(error1, ValidationError)
assert isinstance(error2, ValidationError)
assert isinstance(error2, JSONSchemaValidationError)