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

fix(sqs): does not print all failed validations for Queue props #33070

Merged
merged 3 commits into from
Jan 23, 2025

Conversation

iankhou
Copy link
Contributor

@iankhou iankhou commented Jan 22, 2025

Issue #33098

Closes #33098.

Reason for this change

When initializing a new SQS Queue, props validation throws an error at the first validation issue encountered. If there are multiple validation issues, the user is only informed of the first one.

Description of changes

Using validateAllProps presents all validation errors to the user at once. If redriveAllowPolicy is enabled, the policy will also be evaluated in the same way.

Describe any new or updated permissions being added

No permissions changes.

Description of how you validated changes

Adjusted and added unit tests. Ran integration tests.

Checklist


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

@aws-cdk-automation aws-cdk-automation requested a review from a team January 22, 2025 19:33
@github-actions github-actions bot added the p2 label Jan 22, 2025
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Jan 22, 2025
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter fails with the following errors:

❌ Fixes must contain a change to an integration test file and the resulting snapshot.

If you believe this pull request should receive an exemption, please comment and provide a justification. A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed, add Clarification Request to a comment.

Copy link

codecov bot commented Jan 22, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 81.54%. Comparing base (c0ed449) to head (ebea10c).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #33070   +/-   ##
=======================================
  Coverage   81.54%   81.54%           
=======================================
  Files         226      226           
  Lines       13777    13777           
  Branches     2414     2414           
=======================================
  Hits        11235    11235           
  Misses       2270     2270           
  Partials      272      272           
Flag Coverage Δ
suite.unit 81.54% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
packages/aws-cdk 80.94% <ø> (ø)
packages/aws-cdk-lib/core 82.17% <ø> (ø)

@iankhou iankhou self-assigned this Jan 23, 2025
@iankhou iankhou changed the title Iankhou sqs validation refactor fix(sqs): does not print all failed validations for Queue props Jan 23, 2025
@iankhou iankhou force-pushed the iankhou-sqs-validation-refactor branch from 1d716cb to 9cc1efe Compare January 23, 2025 15:33
@github-actions github-actions bot added the bug This issue is a bug. label Jan 23, 2025
@iankhou iankhou force-pushed the iankhou-sqs-validation-refactor branch from 9cc1efe to b38055d Compare January 23, 2025 16:44
@iankhou iankhou added feature-request A feature should be added or improved. and removed bug This issue is a bug. labels Jan 23, 2025
@iankhou iankhou force-pushed the iankhou-sqs-validation-refactor branch from fe0d832 to bfc2ec5 Compare January 23, 2025 17:39
},
{
condition: ({ redrivePermission, sourceQueues }) =>
!!((redrivePermission === RedrivePermission.ALLOW_ALL || redrivePermission === RedrivePermission.DENY_ALL) && sourceQueues),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logic for this used to essentially be:
redrivePermission && redrivePermission !== RedrivePermission.BY_QUEUE. If any more options were added to the RedrivePermission enum, the logic would have failed, since the permission might not be any of: byQueue, allowAll or denyAll. This adjusted logic protects against this possibility by being more specific.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this! It's more defensive towards the unknown. ❤️

@github-actions github-actions bot added bug This issue is a bug. and removed feature-request A feature should be added or improved. labels Jan 23, 2025
@iankhou iankhou marked this pull request as ready for review January 23, 2025 18:24
@iankhou iankhou force-pushed the iankhou-sqs-validation-refactor branch from 8947922 to a33f8b3 Compare January 23, 2025 19:00
@iankhou iankhou changed the title fix(sqs): does not print all failed validations for Queue props fix(sqs): does not print all failed validations for Queue props. Jan 23, 2025
@iankhou iankhou changed the title fix(sqs): does not print all failed validations for Queue props. fix(sqs): does not print all failed validations for Queue props Jan 23, 2025
@github-actions github-actions bot added the effort/small Small work item – less than a day of effort label Jan 23, 2025
@iankhou iankhou changed the title fix(sqs): does not print all failed validations for Queue props fix(sqs): does not print all failed validations for Queue prop Jan 23, 2025
@iankhou iankhou changed the title fix(sqs): does not print all failed validations for Queue prop fix(sqs): does not print all failed validations for Queue props Jan 23, 2025
@iankhou iankhou added the pr-linter/exempt-integ-test The PR linter will not require integ test changes label Jan 23, 2025
@aws-cdk-automation aws-cdk-automation dismissed their stale review January 23, 2025 20:02

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

Copy link
Contributor

mergify bot commented Jan 23, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: ebea10c
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify mergify bot merged commit b77e937 into main Jan 23, 2025
20 checks passed
Copy link
Contributor

mergify bot commented Jan 23, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot deleted the iankhou-sqs-validation-refactor branch January 23, 2025 20:47
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug This issue is a bug. contribution/core This is a PR that came from AWS. effort/small Small work item – less than a day of effort p2 pr-linter/exempt-integ-test The PR linter will not require integ test changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

sqs: queue initialization with props validation does not display all validation issues
3 participants