bilegentile's picture
Upload folder using huggingface_hub
c19ca42 verified
import pytest
import requests
from .template import APITestTemplate
expected_module_names = {
"animal_openpose",
"anime_face_segment",
"blur_gaussian",
"canny",
"clip_vision",
"color",
"densepose",
"densepose_parula",
"depth",
"depth_anything",
"depth_hand_refiner",
"depth_leres",
"depth_leres++",
"depth_zoe",
"dw_openpose_full",
"hed",
"hed_safe",
"inpaint",
"inpaint_only",
"inpaint_only+lama",
"instant_id_face_embedding",
"instant_id_face_keypoints",
"invert",
"ip-adapter-auto",
"ip-adapter_clip_sd15",
"ip-adapter_clip_sdxl",
"ip-adapter_clip_sdxl_plus_vith",
"ip-adapter_face_id",
"ip-adapter_face_id_plus",
"lineart",
"lineart_anime",
"lineart_anime_denoise",
"lineart_coarse",
"lineart_standard",
"mediapipe_face",
"mlsd",
"none",
"normal_bae",
"normal_dsine",
"normal_map",
"oneformer_ade20k",
"oneformer_coco",
"openpose",
"openpose_face",
"openpose_faceonly",
"openpose_full",
"openpose_hand",
"pidinet",
"pidinet_safe",
"pidinet_scribble",
"pidinet_sketch",
"recolor_intensity",
"recolor_luminance",
"reference_adain",
"reference_adain+attn",
"reference_only",
"revision_clipvision",
"revision_ignore_prompt",
"scribble_hed",
"scribble_xdog",
"segmentation",
"shuffle",
"te_hed",
"threshold",
"tile_colorfix",
"tile_colorfix+sharp",
"tile_resample",
}
# Display name (label)
expected_module_alias = {
"animal_openpose",
"blur_gaussian",
"canny",
"densepose (pruple bg & purple torso)",
"densepose_parula (black bg & blue torso)",
"depth_anything",
"depth_hand_refiner",
"depth_leres",
"depth_leres++",
"depth_midas",
"depth_zoe",
"dw_openpose_full",
"inpaint_global_harmonious",
"inpaint_only",
"inpaint_only+lama",
"instant_id_face_embedding",
"instant_id_face_keypoints",
"invert (from white bg & black line)",
"ip-adapter-auto",
"ip-adapter_clip_g",
"ip-adapter_clip_h",
"ip-adapter_clip_sdxl_plus_vith",
"ip-adapter_face_id",
"ip-adapter_face_id_plus",
"lineart_anime",
"lineart_anime_denoise",
"lineart_coarse",
"lineart_realistic",
"lineart_standard (from white bg & black line)",
"mediapipe_face",
"mlsd",
"none",
"normal_bae",
"normal_dsine",
"normal_midas",
"openpose",
"openpose_face",
"openpose_faceonly",
"openpose_full",
"openpose_hand",
"recolor_intensity",
"recolor_luminance",
"reference_adain",
"reference_adain+attn",
"reference_only",
"revision_clipvision",
"revision_ignore_prompt",
"scribble_hed",
"scribble_pidinet",
"scribble_xdog",
"seg_anime_face",
"seg_ofade20k",
"seg_ofcoco",
"seg_ufade20k",
"shuffle",
"softedge_hed",
"softedge_hedsafe",
"softedge_pidinet",
"softedge_pidisafe",
"softedge_teed",
"t2ia_color_grid",
"t2ia_sketch_pidi",
"t2ia_style_clipvision",
"threshold",
"tile_colorfix",
"tile_colorfix+sharp",
"tile_resample",
}
@pytest.mark.parametrize("alias", ("true", "false"))
def test_module_list(alias):
json_resp = requests.get(
APITestTemplate.BASE_URL + f"controlnet/module_list?alias_names={alias}"
).json()
module_list = json_resp["module_list"]
module_detail: dict = json_resp["module_detail"]
expected_list = expected_module_alias if alias == "true" else expected_module_names
assert set(module_list).issuperset(expected_list), expected_list - set(module_list)
assert set(module_list) == set(module_detail.keys())
assert module_detail["canny"] == dict(
model_free=False,
sliders=[
{
"name": "Resolution",
"value": 512,
"min": 64,
"max": 2048,
"step": 8,
},
{"name": "Low Threshold", "value": 100, "min": 1, "max": 255, "step": 1},
{"name": "High Threshold", "value": 200, "min": 1, "max": 255, "step": 1},
],
)