Skip to content
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

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

0marperez
Copy link
Contributor

@0marperez 0marperez commented Oct 9, 2024

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.

This comment has been minimized.

Copy link

github-actions bot commented Oct 9, 2024

Affected Artifacts

Changed in size
Artifact Pull Request (bytes) Latest Release (bytes) Delta (bytes) Delta (percentage)
http-client-jvm.jar 310,978 310,136 842 0.27%
runtime-core-jvm.jar 799,214 797,842 1,372 0.17%

@0marperez 0marperez marked this pull request as ready for review October 9, 2024 15:27
@0marperez 0marperez requested a review from a team as a code owner October 9, 2024 15:27
{
"id": "c376a9ee-568d-4638-8f4f-2e9a54f2869c",
"type": "feature",
"description": "Failed smoke tests now print exception stack trace"
Copy link
Contributor

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")
}
Copy link
Contributor

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())
Copy link
Contributor

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" -> {
Copy link
Contributor

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?

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.

2 participants