-
Notifications
You must be signed in to change notification settings - Fork 14
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
✨(backends) add support for the AWS S3 backend #213
Conversation
3b4950c
to
029679b
Compare
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.
Oh wow, thanks! 🤩
I would recommend moving your commit title to:
✨(backends) add support for AWS S3
Note that the emoji character should be inserted as the first character of your commit title (and not :sparkle:
).
tests/backends/storage/test_s3.py
Outdated
# Fix for incompatibility between moto and pyfakefs | ||
# See https://github.com/spulec/moto/issues/1682 | ||
for module in [boto3, botocore]: | ||
module_dir = Path(module.__file__).parent | ||
fs.add_real_directory(module_dir, lazy_read=False) |
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.
Have you tried to factor this in the test suite setup()
function?
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.
The fs pyfakefs plugin from pytest has a function scope. Best I can do is factoring the code in a function scope fixture, but the fixture still needs to be called for each test method where moto and fs are used together. Pytest has fs_module or fs_session with larger scopes, but you can only choose one of the three, so it would have an impact on many tests.
029679b
to
cc26794
Compare
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.
Wow! Impressive job! 😍
Only a few remarks
Not simple at first sight to understand the test logic, but I really love it and find it very efficient
cc26794
to
63e52ae
Compare
e7b5961
to
9594c70
Compare
17d392c
to
6139c13
Compare
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.
Looks good!
4e5f32d
to
e7fe2fb
Compare
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.
Minor comments. Almost good to go 💪
77e7ad5
to
e4002b0
Compare
9671b22
to
6a0f0f7
Compare
Implement s3 backend using low-level interface client from the boto3 library
Fix pydocstyle linter now processing all src files and fix linter warnings.
6a0f0f7
to
3199baa
Compare
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.
Purpose
Following issue #75, this PR aims to implement a new s3 backend using the low-level interface "client" from the boto3 library.
Proposal