Skip to content

Commit 524b502

Browse files
author
mengxue
committed
fix: support ucp envelope in discovery profile tests
1 parent 7ca5aee commit 524b502

2 files changed

Lines changed: 12 additions & 4 deletions

File tree

integration_test_utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,10 @@ def shopping_service_endpoint(self) -> str:
392392
self.assert_response_status(discovery_resp, 200)
393393

394394
profile_data = discovery_resp.json()
395+
# Unwrap "ucp" envelope if present (both 01-23 and 04-08 nest under "ucp")
396+
ucp_data = profile_data.get("ucp", profile_data)
395397
# UCP 01-23 validation changed dicts to lists
396-
shopping_services = profile_data.get("services", {}).get(
398+
shopping_services = ucp_data.get("services", {}).get(
397399
"dev.ucp.shopping", []
398400
)
399401
if not shopping_services:

protocol_test.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ def test_discovery_urls(self):
101101
"""
102102
response = self.client.get("/.well-known/ucp")
103103
self.assert_response_status(response, 200)
104-
profile = response.json()
104+
raw_profile = response.json()
105+
# Unwrap "ucp" envelope if present
106+
profile = raw_profile.get("ucp", raw_profile)
105107

106108
url_entries = self._extract_document_urls(profile)
107109
failures = []
@@ -154,7 +156,9 @@ def test_discovery(self):
154156
"""
155157
response = self.client.get("/.well-known/ucp")
156158
self.assert_response_status(response, 200)
157-
data = response.json()
159+
raw_data = response.json()
160+
# Unwrap "ucp" envelope if present (spec nests under "ucp" key)
161+
data = raw_data.get("ucp", raw_data)
158162

159163
# Validate schema using SDK model
160164
BusinessSchema(**data)
@@ -232,7 +236,9 @@ def test_version_negotiation(self):
232236
discovery_resp = self.client.get("/.well-known/ucp")
233237
self.assert_response_status(discovery_resp, 200)
234238
profile_dict = discovery_resp.json()
235-
shopping_services = profile_dict.get("services", {}).get("dev.ucp.shopping")
239+
# Unwrap "ucp" envelope if present
240+
ucp_dict = profile_dict.get("ucp", profile_dict)
241+
shopping_services = ucp_dict.get("services", {}).get("dev.ucp.shopping")
236242
self.assertIsNotNone(
237243
shopping_services, "Shopping service not found in discovery"
238244
)

0 commit comments

Comments
 (0)