tests: run store checks in Community against Pro workflow#13721
Conversation
S3 Image Test Results (AMD64 / ARM64) 2 files 2 suites 8m 25s ⏱️ Results for commit a826d0e. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Integration, Bootstrap 5 files 5 suites 2h 35m 50s ⏱️ Results for commit a826d0e. ♻️ This comment has been updated with latest results. |
2fb2148 to
5bff7d4
Compare
Test Results - Alternative Providers407 tests 274 ✅ 3m 41s ⏱️ Results for commit a826d0e. ♻️ This comment has been updated with latest results. |
LocalStack Community integration with Pro 2 files ±0 2 suites ±0 2h 2m 42s ⏱️ + 4m 53s For more details on these failures, see this check. Results for commit a826d0e. ± Comparison against base commit 8cda50b. ♻️ This comment has been updated with latest results. |
d31f763 to
6cbc5ad
Compare
| if not test_config.TEST_SKIP_LOCALSTACK_START and not is_aws_cloud(): | ||
| # this directly accesses LocalStack state in memory, so it is not worth running in tests against external | ||
| # instances | ||
| pluginmanager.register(StoreSerializationCheckerPlugin(with_pickle=False)) |
There was a problem hiding this comment.
OOC why do we need with_pickle=False here?
There was a problem hiding this comment.
Ah my bad forgot to update the PR description: I had to update the plugin implementation to not test pickling serialization because it made the pipeline timeout due to its cost 😅 and we have done without it for years now only added the new serialization framework checks 👍
cloutierMat
left a comment
There was a problem hiding this comment.
Thanks for improving apigateway while you were there! 🙏
I do have a couple questions regarding the test. It seems that maybe an earlier snapshot skip remained and might not be relevant anymore?
6cbc5ad to
6dace55
Compare
giograno
left a comment
There was a problem hiding this comment.
Great work! Having this in community is going to be super important for us 💯
|
Test failure is unrelated, addressed by #13743 |
Motivation
We are moving towards a serialization framework based on type hints for our Models.
This PR adds a special
pytestplugin in our Community against Pro Tests runs (as those are the only one with access to Pro) which will try to serialize all stores touched during the test after each test. If some data stored in that store is not serializable, the test will fail with an error message explaining why.This is currently only the case for services which have been onboarded, such a SQS or S3. See for example the Lambda PR: #13707
It already picked up a few issues, explained in the Changes section
Changes
Plugin addition
Service fixes:
DocumentationPart.properties, we would store it as a dictionary instead of a string, with validated testsFormattedEvent.timewhich should have been astrKMSKey.previous_keyswhich can hold the key material, so it islist[bytes | None]andKmsCryptoKey.key_materialwhich can beNoneNonein very specific conditions (manually overridden for some special behavior)MessageMoveTask.destination_arnis nullableTests
Related