Skip to content

Add dynamic-client end-to-end test against real Connect model#1234

Draft
yasmewad wants to merge 1 commit into
smithy-lang:mainfrom
yasmewad:connect-dynamic-client-pathserializer-test
Draft

Add dynamic-client end-to-end test against real Connect model#1234
yasmewad wants to merge 1 commit into
smithy-lang:mainfrom
yasmewad:connect-dynamic-client-pathserializer-test

Conversation

@yasmewad

Copy link
Copy Markdown
Contributor

Loads the production AWS Connect model (DescribeContact, GET /contacts/{InstanceId}/{ContactId}) and exercises the full DynamicClient -> RestJsonClientProtocol -> PathSerializer path via a capturing transport (no credentials or network), asserting the two @httpLabel path variables serialize correctly.

This is an end-to-end smoke test for the dynamic-client path. Note: it does NOT reproduce the original ClassCastException on its own, because DocumentUtils.getMemberValue (since 4ec73e9) unwraps a string label via asObject() before PathSerializer sees it. The unit-level PathSerializerTest remains the regression guard for the cast bug; this test guards the dynamic-client integration end to end.

Adds smithy-aws-endpoints as a test dependency so the real Connect model (endpointBdd / aws.partition) assembles.

What behavior changes?

Describe the observable difference in behavior before and after this change.

Why is this change needed?

Explain the motivation: bug, feature request, refactor, performance, etc.

How was this validated?

List tests added, benchmarks run, or manual verification performed.

What should reviewers focus on?

Point reviewers to the files or sections that contain the interesting logic.

Additional Links

Related issues, design docs, or prior art.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Loads the production AWS Connect model (DescribeContact,
GET /contacts/{InstanceId}/{ContactId}) and exercises the full
DynamicClient -> RestJsonClientProtocol -> PathSerializer path via a
capturing transport (no credentials or network), asserting the two
@httpLabel path variables serialize correctly.

This is an end-to-end smoke test for the dynamic-client path. Note: it
does NOT reproduce the original ClassCastException on its own, because
DocumentUtils.getMemberValue (since 4ec73e9) unwraps a string label via
asObject() before PathSerializer sees it. The unit-level PathSerializerTest
remains the regression guard for the cast bug; this test guards the
dynamic-client integration end to end.

Adds smithy-aws-endpoints as a test dependency so the real Connect model
(endpointBdd / aws.partition) assembles.
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