4 ms·
All this mocking when moto exists is just :-( https://github.com/awslabs/git-remote-s3/blob/v0.1.19/test/remote_test.py https://github.com/awslabs/git-remote-s3
by mdaniel 2y ago
All this mocking when moto exists is just :-( https://github.com/awslabs/git-remote-s3/blob/v0.1.19/test/remote_test.py https://github.com/awslabs/git-remote-s3/blob/v0.1.19/test/r...
Actually, moto is just one bandaid for that problem - there are SO MANY s3 storage implementations, including the pre-license-switch Apache 2 version of minio (one need not use a bleeding edge for something as relatively stable as the S3 Api)
- SahAssar 2y agoDo you mean boto (the python SDK for AWS)? EDIT: They probably do not, I'm guessing they mean https://docs.getmoto.org/en/latest/index.html https://docs.getmoto.org/en/latest/index.html ?
- flakes 2y agomoto server for testing S3 is pretty great. It’s about the same experience as using a minio container to run integration tests against. I use this, and testing.postgresql for unit testing my api servers with barely any mocks used at all.
- neeleshs 2y agoThere is also testcontainers. Supports multiple languages. Uses containers though. https://testcontainers-python.readthedocs.io/en/latest/ https://testcontainers-python.readthedocs.io/en/latest/
- mdaniel 2y agoHappy 10,000th Day to you :-D Yes, moto and its friend localstack are just fantastic for being able to play with AWS without spending money, or to reproduce kabooms that only happen once a month with the real API I believe moto has an "embedded" version such that one need not even have in listen on a network port, but I find it much, much less mental gymnastics to just supersede the "endpoint" address in the actual AWS SDKs to point to 127.0.0.1:4566 and off to the races. The AWS SDKs are even so friendly as to not mandate TLS or have allowlists of endpoint addresses, unlike their misguided Azure colleagues
- notpushkin 2y ago> there are SO MANY s3 storage implementations I suppose given this is under the AWS Labs org, they don’t really care about non-AWS S3 implementations.
- mdaniel 2y agoWell, I look forward to their `docker run awslabs/the-real-s3:latest` implementation then. Until such time, monkeypatching api calls to always give the exact answer the consumer is looking for is damn cheating
- chrsig 2y agoit wouldn't be unprecedented. dynamodb-local exists.
- notpushkin 2y agoAgreed, haha. Well, I think it should work with Minio & co. just as well, but be prepared to have your issues closed as unsupported. (Pesonally, I might give it a go with Backblaze B2 just to play around, yeah)
- remram 2y agoUnfortunately there's been a few vulnerability since that old Minio release. For something you expose to users, it's a problem.
- mdaniel 2y agoI would hope my mentioning moto made it clear my comment was about having an S3 implementation for testing. Presumably one should not expose moto to users, either