85 lines
2.4 KiB
Python
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
|