Comments (13)
Hmm, it doesn't help to create the redis connection outside the @mock_s3, since it (or httpretty?) monkey patches the socket module anyway.
from moto.
I'm seeing something similar, using @mock_sqs seems to prevent me from being able to use httpretty at all.
from moto.
Hmmm, this should all be fixed with gabrielfalcao/HTTPretty#34.
Currently moto will not work properly with httpretty since moto runs a modified version of httpretty. I've submitted pull requests to get it so that moto can use a non-custom version of httpretty. It's going to be difficult to do anything until those get pulled in.
from moto.
I think this should be fixed now that we're back on the upstream version of HTTPretty. Can you confirm?
from moto.
It appears to work with redis in my lock tests with moto.mock_s3. Sadly, it would appear other changes in moto have broken the rest of my tests so I can't be absolutely sure, but that's a separate issue :)
from moto.
Ah, damn. Sorry to hear that.
I'm going to close this then. Do you mind opening some other issues when you get a minute?
from moto.
Sure, I'll investigate that separately. I haven't given it much attention lately since the S3-using bits on my project are pretty much done.
from moto.
Hi
I'm seeing the "moto breaks redis" problem discussed above :(
Moto version:
from git, commit d8d55dc Sat Jan 24 08:59:14 2015 -0500
httpretty.version
u'0.8.0'
from moto.
This is almost certainly an issue with HTTPretty. Can you narrow down a test case and open an issue there if that is true?
from moto.
I just opened gabrielfalcao/HTTPretty#212
also noted a related issue gabrielfalcao/HTTPretty#194 which has been untouched for 3 months
from moto.
Given that "HTTPretty monkey patches Python's socket core module", I don't think I'm going to be able to use moto. Pity.
from moto.
After finding folks choosing to avoid the use of Moto and HTTPretty due to the socket monkey-patching (and finding myself unable to do so) I decided to bypass HTTPretty just inside my Redis/Memcached clients. Here's how I did it:
class BypassHTTPretty():
def __enter__(self):
self.reenable_later = httpretty.is_enabled()
if httpretty.is_enabled():
httpretty.disable()
def __exit__(self, type, value, traceback):
if self.reenable_later:
httpretty.enable()
def redis_set(key, value):
with BypassHTTPretty():
redis.set(key, value)
Also posted here: gabrielfalcao/HTTPretty#212
from moto.
Sorry about that. I'm working to move away from socket monkey-patching in the very near future.
Another option for the time being is to use Moto in standalone server mode: https://github.com/spulec/moto#stand-alone-server-mode
from moto.
Related Issues (20)
- S3: Implement EventBridge Notification
- S3: Let's add `upload_file` method HOT 2
- describe_jobs does not include startedAt HOT 5
- Cloudfront - CustomHeaders in origin missing HOT 1
- What am I missing with this Lambda Test? HOT 6
- DelaySeconds for individual messages not working. HOT 1
- cognito-idp admin_get_user Username argument can be sub HOT 1
- CloudWatch PutMetricData body compression in botocore 1.34.40+ HOT 2
- Request AWS::EMR::Cluster resource to be added to cloudformation HOT 13
- SNS: additional message filtering operators (`$or`, case insensitive matching, suffix matching) HOT 1
- FIFO queue not raising an error when submitting a message to it using DelaySeconds HOT 2
- Global Secondary Index scan returns items not matching the index HOT 1
- EC2: security group rule bad behaviours HOT 2
- Cloudfront: update_distribution issue HOT 2
- from moto import mock_s3 ModuleNotFoundError: No module named 'moto' HOT 3
- secretsmanager update_secret_version_stage does not remove AWSPREVIOUS correctly HOT 1
- Any plans for support for TimestreamQuery ? HOT 3
- S3: put_bucket_logging fails when the target prefix appears in the bucket policy HOT 1
- Please add support for the ResilienceHub API HOT 5
- test_describe_vpc_endpoint_services_bad_args is racy HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moto.