-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Sns/v2 publish continued #13408
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
Sns/v2 publish continued #13408
Conversation
Test Results - Alternative Providers198 tests - 1 265 154 ✅ - 686 2m 10s ⏱️ - 34m 28s Results for commit 92d76d5. ± Comparison against base commit 12934db. This pull request removes 1265 tests.♻️ This comment has been updated with latest results. |
Test Results (amd64) - Integration, Bootstrap 5 files ± 0 5 suites ±0 1h 26m 34s ⏱️ - 1h 14m 59s Results for commit 92d76d5. ± Comparison against base commit 12934db. This pull request removes 2363 tests.♻️ This comment has been updated with latest results. |
LocalStack Community integration with Pro 2 files ± 0 2 suites ±0 1h 1m 33s ⏱️ - 1h 2m 18s Results for commit 92d76d5. ± Comparison against base commit 12934db. This pull request removes 2013 tests.♻️ This comment has been updated with latest results. |
ae2a8a6 to
2d4506a
Compare
bentsku
left a comment
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.
LGTM, nice work! Nice to see so many tests enabled now!
How many tests are still failing?
Regarding the test_subscribe_external_http_endpoint_content_type, I believe it is important that this works before we switch the provider, as it tests some behavior of the HTTP type endpoint and how we deliver messages to those. If we don't see the right content type, some integrations are failing.
I've also spotted a skip that wasn't removed.
But this can be addressed in a follow-up 👍 nice work!
|
|
||
|
|
||
| @pytest.fixture | ||
| def sns_provider(): |
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.
that's a smart way to go over the limitation 👍 I guess ultimately we should not access those things in memory and use the external API, but definitely out of scope of this PR, this is a great workaround! nice work
tests/aws/services/sns/test_sns.py
Outdated
|
|
||
| @markers.aws.needs_fixing | ||
| # AWS validating this is hard because we need real credentials for a GCM/Apple mobile app | ||
| @skip_if_sns_v2 |
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: this one still has the skip
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.
thanks, and a good thing too you caught that because there was a bug 😅
tests/aws/services/sns/test_sns.py
Outdated
| "$.topic-attrs.Attributes.Policy.Statement..Action", | ||
| ] | ||
| ) | ||
| # Is this even executable against AWS? |
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.
yes it is 😄 but it is quite a complex setup: you need to make your local http server reachable from the internet to be able to see what messages SNS sent you. See the sns_create_http_endpoint fixture.
Ultimately, I think we could replace this manual setup with a lambda Function URL instead and forward those received HTTP calls via SQS and retrieve them, but we wouldn't be able to test as much as Lambda will modify the incoming payload so it's not as precise as this setup.
But this test was validated, and I believe is important that it passes because this was reported by users and was directly implementing the feature.
How does it still fail today? What errors do we get?
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.
It was an error when raw message delivery was disabled, and it was one header only that was wrong. I thought that before I start a deep dive as to why one specific header fails, I want to clarify if this is even relevant 😄 But it is, and it was a bug in the publisher, needed another of these "access pascal case or CamelCase for topic attributes" fixes we talked about.
319aca9 to
92d76d5
Compare
|
Currently, only patch changes are allowed on main. Your PR labels (semver: minor, docs: skip, notes: skip) indicate that it cannot be merged into the main at this time. |
Motivation
This PR enables all of the remaining publish tests that were skipped due to the v2 provider not having enough features.
It also fixes wrong behaviour where the v2 provider incorrectly assigns a default SignatureVersion for fifo topics.
closes PNX-379
closes PNX-75
Changes
Tests
Related