Replace the prior release tree with the current plugin, frontend, tests, and documentation. Document retired node IDs and the public Gitea update source.
2.4 KiB
Testing
Why tests run in isolation
Several tests replace ComfyUI modules in sys.modules with lightweight stubs. A single unittest discover process allows those stubs to leak into later test modules. tests/run_all.py therefore launches every Python file in a fresh interpreter and runs the frontend test separately when Node.js is available.
Full offline suite
..\..\..\python_embeded\python.exe tests\run_all.py
The suite must not contact real O1Key/provider endpoints or read the developer's .config.
When Node.js is available, run_all.py also runs every tests/test_*.mjs
frontend regression test in filename order.
Focused tests
..\..\..\python_embeded\python.exe tests\test_nano_banana_dynamic_inputs.py
..\..\..\python_embeded\python.exe tests\test_seedance_autopass_v3.py
node tests\test_o1key_image_generator_frontend.mjs
node tests\test_o1key_reference_image_editor.mjs
node tests\test_video_trim_frontend.mjs
Static and import checks
..\..\..\python_embeded\python.exe -m compileall -q __init__.py prestartup_script.py models_config.py clients nodes utils tests
..\..\..\python_embeded\python.exe -c "import sys; sys.path.insert(0, '..'); import comfyui_o1key; print('registered_nodes=', len(comfyui_o1key.NODE_CLASS_MAPPINGS)); print('web_directory=', comfyui_o1key.WEB_DIRECTORY)"
git diff --check
compileall creates ignored __pycache__ directories. They do not belong in Git.
Validation matrix
| Change | Minimum validation |
|---|---|
| Node schema or mapping | focused node test, full suite, import smoke |
| Client payload or response parsing | focused client test, retry/failure cases |
| Upload/download/polling | cancellation, size limit, retry, and failure tests |
__init__.py, requirements, package exports |
compile, full suite, import smoke |
web/js/o1keyImageGenerator.js |
frontend Node test |
web/js/o1keyReferenceImageEditor.js |
editor and image-generator frontend Node tests |
web/js/videoTrim.js |
video-trim frontend Node test |
| Workflow widget order | migration regression test and manual old-workflow check |
| Documentation only | link/path review and git diff --check |
Manual checks
Use a real ComfyUI session only when behavior cannot be proven offline, such as canvas interaction, sidebar layout, or native preview rendering. Never turn a credit-consuming live request into a default automated test.