Coder Social home page Coder Social logo

Comments (13)

lucian1900 avatar lucian1900 commented on May 18, 2024

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.

tponthieux avatar tponthieux commented on May 18, 2024

I'm seeing something similar, using @mock_sqs seems to prevent me from being able to use httpretty at all.

from moto.

spulec avatar spulec commented on May 18, 2024

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.

spulec avatar spulec commented on May 18, 2024

I think this should be fixed now that we're back on the upstream version of HTTPretty. Can you confirm?

from moto.

lucian1900 avatar lucian1900 commented on May 18, 2024

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.

spulec avatar spulec commented on May 18, 2024

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.

lucian1900 avatar lucian1900 commented on May 18, 2024

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.

cgwaldman avatar cgwaldman commented on May 18, 2024

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.

spulec avatar spulec commented on May 18, 2024

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.

cgwaldman avatar cgwaldman commented on May 18, 2024

I just opened gabrielfalcao/HTTPretty#212

also noted a related issue gabrielfalcao/HTTPretty#194 which has been untouched for 3 months

from moto.

cgwaldman avatar cgwaldman commented on May 18, 2024

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.

JackDanger avatar JackDanger commented on May 18, 2024

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.

spulec avatar spulec commented on May 18, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.