Skip to content

Fix smoke test missing params#2795

Merged
milesziemer merged 2 commits intosmithy-lang:mainfrom
milesziemer:fix-smoke-test-missing-params
Oct 15, 2025
Merged

Fix smoke test missing params#2795
milesziemer merged 2 commits intosmithy-lang:mainfrom
milesziemer:fix-smoke-test-missing-params

Conversation

@milesziemer
Copy link
Contributor

If a smoke test case didn't define input params, the validation that normally checks to make sure params matches the operation input would not run. This meant that you could omit params even if the operation input has required members.

I fixed this by manually checking for required members when params aren't defined (I couldn't use NodeValidationVisitor because it needs an actual node to check, plus the error message will be better this way). It emits an error, same as NodeValidationVisitor would.

Commit 2:

Removed a branch in the smoke test input param validation logic, which would check for cases where params were provided for an operation with no input. This code was unreachable because the method being used to get the operation's input shape, OperationIndex::expectInputShape, always returns a value, and we were checking for null. There wasn't a test case for this, so I'm not sure why I wrote it that way to begin with.


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

If a smoke test case didn't define input `params`, the validation that
normally checks to make sure `params` matches the operation input would
not run. This meant that you could omit `params` even if the operation
input has required members.

I fixed this by manually checking for required members when `params`
aren't defined (I couldn't use NodeValidationVisitor because it needs an
actual node to check, plus the error message will be better this way).
It emits an error, same as NodeValidationVisitor would.
Removed a branch in the smoke test input param validation logic, which
would check for cases where `params` were provided for an operation with
no input. This code was unreachable because the method being used to get
the operation's input shape, `OperationIndex::expectInputShape`, always
returns a value, and we were checking for null. There wasn't a test case
for this, so I'm not sure why I wrote it that way to begin with.
@milesziemer milesziemer requested a review from a team as a code owner October 14, 2025 21:25
@milesziemer milesziemer requested a review from joewyz October 14, 2025 21:25
@milesziemer milesziemer merged commit 5bd4acf into smithy-lang:main Oct 15, 2025
8 checks passed
@milesziemer milesziemer deleted the fix-smoke-test-missing-params branch October 15, 2025 15:38
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