Don't validate --endpoint-url for help subcommand #828
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
"aws cloudsearchdomain" has --endpoint-url validation because
it's a required option for that service. However, we should
not be validating this when a user is just trying to get
help.
The fix is to move the validation to the operation-args-parsed.*
event, which is after all the help processing code.
I've also added integration tests that actually run the help command
for cloudsearchdomain to verify this behavior works.
Also manually verified that "aws cloudsearchdomain help" works and "aws cloudsearchdomain search help" works as expected. We still get endpoint-url validation when we're not doing help:
Also, writing a unit test for the help functionality showed a bug when the PATH env var isn't set (which is the case in our unit tests), so you'll see a diff on the help.py module that fixes this so that the newly added unit test can pass.
cc @danielgtaylor