Extract profile filter nodes
This commit is contained in:
@@ -1848,6 +1848,87 @@ def smoke_node_route_config_registration() -> None:
|
||||
_expect("weighted cast:" in bias_a[3], "Cast Bias summary lost weighted cast label")
|
||||
|
||||
|
||||
def smoke_node_profile_filter_registration() -> None:
|
||||
required_nodes = [
|
||||
"SxCPGenerationProfile",
|
||||
"SxCPAdvancedFilters",
|
||||
"SxCPEthnicityList",
|
||||
]
|
||||
for node_name in required_nodes:
|
||||
_expect(node_name in sxcp_nodes.NODE_CLASS_MAPPINGS, f"{node_name} missing from node registry")
|
||||
_expect(node_name in sxcp_nodes.NODE_DISPLAY_NAME_MAPPINGS, f"{node_name} missing from display registry")
|
||||
|
||||
profile_node = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPGenerationProfile"]
|
||||
profile_inputs = profile_node.INPUT_TYPES().get("required") or {}
|
||||
_expect("profile" in profile_inputs, "Generation Profile lost profile input")
|
||||
_expect("tooltip" in profile_inputs["profile"][1], "Generation Profile tooltip injection missing")
|
||||
profile_config, profile_summary = profile_node().build(
|
||||
profile="balanced",
|
||||
clothing_override="profile_default",
|
||||
poses_override="profile_default",
|
||||
expression_enabled=True,
|
||||
expression_intensity_mode="fixed",
|
||||
expression_intensity=0.5,
|
||||
backside_bias=-1,
|
||||
minimal_clothing_ratio=-1,
|
||||
standard_pose_ratio=-1,
|
||||
trigger_policy="profile_default",
|
||||
)
|
||||
parsed_profile = json.loads(profile_config)
|
||||
_expect(parsed_profile.get("profile") == "balanced", "Generation Profile output lost profile")
|
||||
_expect(parsed_profile.get("expression_intensity") == 0.5, "Generation Profile output lost fixed expression intensity")
|
||||
_expect("balanced:" in profile_summary, "Generation Profile summary changed unexpectedly")
|
||||
|
||||
filter_config = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPAdvancedFilters"]().build(
|
||||
include_european=True,
|
||||
include_mediterranean_mena=False,
|
||||
include_latina=False,
|
||||
include_east_asian=False,
|
||||
include_southeast_asian=False,
|
||||
include_south_asian=False,
|
||||
include_black_african=True,
|
||||
include_indigenous=False,
|
||||
include_mixed=False,
|
||||
include_plus_size=False,
|
||||
figure="curvy",
|
||||
)[0]
|
||||
parsed_filter = json.loads(filter_config)
|
||||
_expect(parsed_filter.get("figure") == "curvy", "Advanced Filters lost figure")
|
||||
_expect(parsed_filter.get("ethnicity_includes") == ["european", "black_african"], "Advanced Filters ethnicity includes changed")
|
||||
_expect(parsed_filter.get("no_plus_women") is True, "Advanced Filters should set no_plus_women when plus size is excluded")
|
||||
|
||||
ethnicity, ethnicity_filter_config, ethnicity_summary = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPEthnicityList"]().build(
|
||||
include_european=False,
|
||||
include_mediterranean_mena=False,
|
||||
include_latina=False,
|
||||
include_east_asian=False,
|
||||
include_southeast_asian=False,
|
||||
include_south_asian=False,
|
||||
include_black_african=False,
|
||||
include_indigenous=False,
|
||||
include_mixed=False,
|
||||
include_asian=False,
|
||||
include_white_asian=False,
|
||||
include_western_european=False,
|
||||
include_french_european=True,
|
||||
include_germanic_european=False,
|
||||
include_nordic_european=False,
|
||||
include_celtic_european=False,
|
||||
include_slavic_european=False,
|
||||
include_baltic_european=False,
|
||||
include_alpine_european=False,
|
||||
include_balkan_european=False,
|
||||
include_greek_mediterranean=False,
|
||||
include_italian_mediterranean=False,
|
||||
include_iberian_mediterranean=False,
|
||||
strict_excludes=True,
|
||||
)
|
||||
parsed_ethnicity_filter = json.loads(ethnicity_filter_config)
|
||||
_expect("french_european" in ethnicity, "Ethnicity List output lost selected regional ethnicity")
|
||||
_expect(parsed_ethnicity_filter.get("ethnicity_includes") == ["french_european"], "Ethnicity List filter output changed")
|
||||
_expect("ethnicity list:" in ethnicity_summary, "Ethnicity List summary changed unexpectedly")
|
||||
|
||||
|
||||
SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
|
||||
("builtin_single_woman", smoke_builtin_single),
|
||||
("camera_scene_single", smoke_camera_scene_single),
|
||||
@@ -1874,6 +1955,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
|
||||
("node_utility_registration", smoke_node_utility_registration),
|
||||
("node_camera_registration", smoke_node_camera_registration),
|
||||
("node_route_config_registration", smoke_node_route_config_registration),
|
||||
("node_profile_filter_registration", smoke_node_profile_filter_registration),
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user