Skip to main content
Glama
test_validate.py2.5 kB
"""Test workflow validation utilities.""" import pytest from comfyui_mcp_server.workflow_utils import normalize_workflow, apply_dryrun_overrides class TestNormalizeWorkflow: """Tests for normalize_workflow function.""" def test_raw_prompt(self): """Raw prompt dict should pass through unchanged.""" prompt = {"1": {"class_type": "KSampler", "inputs": {}}} result = normalize_workflow(prompt) assert result == prompt def test_wrapped_prompt(self): """Wrapped prompt should be unwrapped.""" inner = {"1": {"class_type": "KSampler", "inputs": {}}} wrapped = {"prompt": inner} result = normalize_workflow(wrapped) assert result == inner def test_non_dict_raises(self): """Non-dict input should raise TypeError.""" with pytest.raises(TypeError): normalize_workflow("not a dict") with pytest.raises(TypeError): normalize_workflow(None) class TestApplyDryrunOverrides: """Tests for apply_dryrun_overrides function.""" def test_no_override(self): """With steps=None, prompt should be unchanged.""" prompt = {"1": {"class_type": "KSampler", "inputs": {"steps": 20}}} result = apply_dryrun_overrides(prompt, steps=None) assert result["1"]["inputs"]["steps"] == 20 def test_clamp_steps(self): """Steps should be clamped to override value.""" prompt = {"1": {"class_type": "KSampler", "inputs": {"steps": 20}}} result = apply_dryrun_overrides(prompt, steps=2) assert result["1"]["inputs"]["steps"] == 2 def test_steps_already_lower(self): """Steps lower than override should stay lower.""" prompt = {"1": {"class_type": "KSampler", "inputs": {"steps": 1}}} result = apply_dryrun_overrides(prompt, steps=5) assert result["1"]["inputs"]["steps"] == 1 def test_non_ksampler_unchanged(self): """Non-KSampler nodes should be unchanged.""" prompt = {"1": {"class_type": "CLIPTextEncode", "inputs": {"text": "hello"}}} result = apply_dryrun_overrides(prompt, steps=2) assert result == prompt def test_does_not_mutate_original(self): """Original prompt should not be mutated.""" prompt = {"1": {"class_type": "KSampler", "inputs": {"steps": 20}}} result = apply_dryrun_overrides(prompt, steps=2) assert prompt["1"]["inputs"]["steps"] == 20 assert result["1"]["inputs"]["steps"] == 2

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zturner1/comfyui-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server