-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
misc: smoke tests vendor params section ids & smoke test failed test case exception logging #1160
base: main
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
Affected ArtifactsChanged in size
|
{ | ||
"id": "c376a9ee-568d-4638-8f4f-2e9a54f2869c", | ||
"type": "feature", | ||
"description": "Failed smoke tests now print exception stack trace" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit/opinion: This does not need a changelog
object SmokeTestUriValue : SectionId { | ||
val EndpointProvider: SectionKey<Symbol> = SectionKey("EndpointProvider") | ||
val EndpointParameters: SectionKey<Symbol> = SectionKey("EndpointParameters") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
organization/style: Namespace these sections under another object SmokeTestSectionId
write("#L = #L", vendorParam.key.value.toCamelCase(), vendorParam.value.format()) | ||
when (vendorParam.key.value) { | ||
"region" -> { | ||
writeInline("#L = ", vendorParam.key.value.toCamelCase()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: repeated vendorParam.key.value.toCamelCase()
can be stored in a local variable
declareSection(SmokeTestRegionDefault) | ||
write("#L", vendorParam.value.format()) | ||
} | ||
"sigv4aRegionSet" -> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
correctness: smithy-kotlin should not know anything about AWS-specific config options. region
was fine because we've treated it like a generic client config option, but is there any way to lift the handling of these AWS-specific vendor params out of smithy-kotlin?
I'm not sure there is, since this implementation heavily relies on sections, but something to consider. Can a single "vendor params" section be declared and the name of the vendor param (i.e. sigv4aRegionSet) be passed in context to aws-sdk-kotlin?
Issue #
Description of changes
-misc: adds section IDs in smoke test vendor params for downstream customization
-misc: adds runtime types for downstream to use
-feat: adds failed smoke test test case exception logging to smoke test runners
-fix: smoke tests runner generator checks test case params are not null
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.