Files
LuqP2-ImageMetaHub-ComfyUI-…/tests/test_video_metadata_utils.py
T

85 lines
2.4 KiB
Python

from video_metadata_utils import build_video_metahub_metadata
def test_video_metadata_omits_full_workflow_payloads():
payload = build_video_metahub_metadata(
{
"positive": "prompt",
"negative": "negative",
"width": 640,
"height": 480,
"frame_rate": 24,
"frame_count": 48,
"metadata_status": "complete",
"metadata_sources": {"positive": "detected"},
},
{"workflow": {"nodes": [{"id": 1}]}, "prompt": {"1": {"class_type": "KSampler"}}},
)
assert payload["generator"] == "ComfyUI"
assert payload["media_type"] == "video"
assert payload["video"]["duration_seconds"] == 2
assert payload["metadata_status"] == "complete"
assert "workflow" not in payload
assert "prompt_api" not in payload
def test_video_metadata_includes_attribution_without_workflow_payloads():
payload = build_video_metahub_metadata(
{
"positive": "prompt",
"negative": "",
"width": 640,
"height": 480,
"imh_attribution": {
"schema_version": 1,
"token": "imhcrt_br_creator_workflow_v1_random",
"source": "metahub_save_node",
"node_version": "1.0.9",
},
},
{"workflow": {"nodes": [{"id": 1}]}, "prompt": {"1": {"class_type": "KSampler"}}},
)
assert payload["imh_attribution"]["token"] == "imhcrt_br_creator_workflow_v1_random"
assert "workflow" not in payload
assert "prompt_api" not in payload
def test_video_metadata_nulls_defaulted_canonical_fields():
payload = build_video_metahub_metadata(
{
"positive": "",
"model_name": "",
"seed": 0,
"width": 640,
"height": 480,
"metadata_sources": {
"positive": "default",
"model_name": "default",
"seed": "default",
},
},
{},
)
assert payload["prompt"] is None
assert payload["model"] is None
assert payload["seed"] is None
def test_video_metadata_nulls_unknown_blank_overrides():
payload = build_video_metahub_metadata(
{
"positive": "",
"width": 640,
"height": 480,
"metadata_sources": {
"positive": "unknown",
},
},
{},
)
assert payload["prompt"] is None