Files
Azornes-Comfyui-Model-Resolver/tests/test_workflow_validation.py
T

49 lines
1.2 KiB
Python

import pytest
from core.request_utils import validate_workflow_payload
@pytest.mark.parametrize(
("value", "expected", "error"),
[
(None, None, "Workflow JSON is required"),
({}, {}, None),
([], None, "Workflow JSON must be an object"),
],
)
def test_validate_workflow_payload_matches_analyze_contract(value, expected, error):
result, message = validate_workflow_payload(value)
assert result == expected
assert message == error
def test_validate_workflow_payload_can_reject_empty_objects():
result, message = validate_workflow_payload({}, empty_is_missing=True)
assert result is None
assert message == "Workflow JSON is required"
def test_validate_workflow_payload_can_preserve_non_object_resolution_inputs():
value = ["workflow"]
result, message = validate_workflow_payload(
value,
empty_is_missing=True,
require_object=False,
)
assert result == value
assert message is None
def test_validate_workflow_payload_can_treat_none_as_an_invalid_object():
result, message = validate_workflow_payload(
None,
none_is_missing=False,
)
assert result is None
assert message == "Workflow JSON must be an object"