DataDesigner/packages/data-designer-engine/tests/engine/test_engine_errors.py
Johnny Greco ae0665fa16
refactor: slim package refactor into three subpackages (#240)
* remove old structure

* major shuffle

* streamline project configs

* update make commands

* updates to make commands

* remove essentials

* initialize logger in interface

* uv lock

* ignore notepad

* update workflows

* fix e2e project config

* generate colab notebooks

* resolve default model settings in interface

* fix build commands

* update perf import make command

* cleaning up some slop

* update recipes

* move conftest files to tests/

* update subpackage readmes

* streamline config_logging

* use exports

* update perf import usage pattern

* update for IDE behavior with ruff

* remove engine's fixtures file

* add note to about lazy imports

* update dependencies

* update docs

* doc fixes

* uv lock

* updates to catch up with main

* clean up makefile

* remove package gitignores

* define deps only once

* isolate tests

* add test for protetion rule

* create temp dirs for isolated tests

* catch up to main

* update headers

* re apply changes

* better result summaries for isolated tests

* move exports into top-level init

* fix client importlib version syntax

* catch up with main
2026-01-27 13:53:20 -05:00

61 lines
1.8 KiB
Python

# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
from data_designer.engine.errors import (
DataDesignerRuntimeError,
ErrorTrap,
RemoteValidationSchemaError,
SecretResolutionError,
UnknownModelAliasError,
UnknownProviderError,
)
def test_error_message():
test_cases = [
(DataDesignerRuntimeError, "Runtime error occurred"),
(UnknownModelAliasError, "Unknown model alias"),
(UnknownProviderError, "Unknown provider"),
(SecretResolutionError, "Secret resolution failed"),
(RemoteValidationSchemaError, "Remote validation schema error"),
]
for error_class, message in test_cases:
error = error_class(message)
assert str(error) == message
error = DataDesignerRuntimeError()
assert str(error) == ""
def test_error_trap_custom_values():
task_errors = {"TestError": 5, "AnotherError": 3}
error_trap = ErrorTrap(error_count=8, task_errors=task_errors)
assert error_trap.error_count == 8
assert error_trap.task_errors == task_errors
def test_error_trap_track_error():
error_trap = ErrorTrap()
error1 = DataDesignerRuntimeError("Error 1")
error2 = DataDesignerRuntimeError("Error 2")
error3 = UnknownModelAliasError("Error 3")
error_trap.handle_error(error1)
error_trap.handle_error(error2)
error_trap.handle_error(error3)
assert error_trap.error_count == 3
assert error_trap.task_errors["DataDesignerRuntimeError"] == 2
assert error_trap.task_errors["UnknownModelAliasError"] == 1
def test_error_trap_model_dump():
error_trap = ErrorTrap(error_count=5, task_errors={"TestError": 3})
data = error_trap.model_dump()
assert data["error_count"] == 5
assert data["task_errors"] == {"TestError": 3}