"""hosted-image URL helpers — round-trip recognition (SD-0002 §6.3.1, INV-12).""" from app.domains.products import hosted def test_build_relative_when_no_base(): assert hosted.image_url("", 42, "detail") == "/api/products/images/42/detail" def test_build_absolute_with_base(): url = hosted.image_url("https://ecomm-ppe.wiggleverse.org", 42, "detail") assert url == "https://ecomm-ppe.wiggleverse.org/api/products/images/42/detail" def test_parse_absolute_hosted_url(): url = "https://market.wiggleverse.org/api/products/images/7/detail" assert hosted.parse_image_id(url) == 7 def test_parse_relative_hosted_url(): assert hosted.parse_image_id("/api/products/images/7/card") == 7 def test_parse_ignores_query_and_trailing(): assert hosted.parse_image_id("/api/products/images/7/detail?v=1") == 7 def test_parse_non_hosted_returns_none(): assert hosted.parse_image_id("https://cdn.example.com/a/b.png") is None assert hosted.parse_image_id("/api/products/images/abc/detail") is None assert hosted.parse_image_id("/api/products/images/7") is None