Skip to content

fix: migrate conformance tests to UCP SDK v0.3.0#32

Open
sbeashwar wants to merge 1 commit intoUniversal-Commerce-Protocol:mainfrom
sbeashwar:pr1-sdk-migration
Open

fix: migrate conformance tests to UCP SDK v0.3.0#32
sbeashwar wants to merge 1 commit intoUniversal-Commerce-Protocol:mainfrom
sbeashwar:pr1-sdk-migration

Conversation

@sbeashwar
Copy link
Copy Markdown

Description

Migrates all 13 conformance test files to work with UCP SDK v0.3.0, which renamed and restructured all model modules.

Without this change, the conformance suite cannot import the SDK and all tests fail with ModuleNotFoundError.

Changes

  • UcpDiscoveryProfile replaced with BusinessSchema from ucp_sdk.models.schemas.ucp
  • *_resp modules renamed to base names (e.g., fulfillment_resp -> checkout)
  • *_req modules renamed to *_request with updated class names
  • Payment models moved to top-level payment.py
  • Fulfillment response access converted to dict subscript for extra="allow" models
  • Service discovery updated for flat transport model with ReverseDomainName keys
  • FulfillmentMethodCreateRequest: pass line_item_ids=[] (optional on create per spec, required by SDK model)
  • Payment instrument construction standardized via get_valid_payment_payload()

Test results

53/53 pass against Flower Shop server on 2026-01-23 profile.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • New and existing unit tests pass locally with my changes

@sbeashwar sbeashwar requested review from a team as code owners April 17, 2026 23:40
@google-cla
Copy link
Copy Markdown

google-cla bot commented Apr 17, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

SDK v0.3.0 renamed and restructured all model modules:
- UcpDiscoveryProfile deleted; use BusinessSchema from ucp.schemas.ucp
- *_resp modules renamed to base names (fulfillment_resp -> checkout)
- *_req modules renamed to *_request with matching class names
- Payment models moved to top-level payment.py
- Fulfillment models restructured with new required fields
- Service discovery uses flat transport model with ReverseDomainName keys

Test fixes:
- All 13 test files updated for new import paths and class names
- FulfillmentMethodCreateRequest: pass line_item_ids=[] (optional on
  create per spec, but SDK marks required)
- Fulfillment response access converted from typed attributes to dict
  subscript (extra="allow" models)
- Payment instrument construction standardized via get_valid_payment_payload()
- Protocol test version assertions updated for 2026-01-23

Result: 57/59 pass (2 simulation_secret config mismatches, not SDK issues)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant