Publish current ComfyUI O1Key code baseline
Replace the prior release tree with the current plugin, frontend, tests, and documentation. Document retired node IDs and the public Gitea update source.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 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
|
||||
|
||||
```powershell
|
||||
..\..\..\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
|
||||
|
||||
```powershell
|
||||
..\..\..\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
|
||||
|
||||
```powershell
|
||||
..\..\..\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.
|
||||
Reference in New Issue
Block a user