From aec58d2b9a2476d252e9e63218e3694a9b25bec9 Mon Sep 17 00:00:00 2001 From: Peter Halliday Date: Fri, 23 Feb 2018 11:31:07 -0600 Subject: [PATCH] According to what I said on spulec/moto#1026 Add a unittest and attempt a fix. --- moto/core/models.py | 3 ++- tests/test_core/test_nested.py | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/moto/core/models.py b/moto/core/models.py index c6fb72ffa5e..94f9f4cf319 100644 --- a/moto/core/models.py +++ b/moto/core/models.py @@ -130,7 +130,8 @@ def reset(self): responses.reset() def enable_patching(self): - responses.start() + if BaseMockAWS.nested_count == 1: + responses.start() for method in RESPONSES_METHODS: for backend in self.backends_for_urls.values(): for key, value in backend.urls.items(): diff --git a/tests/test_core/test_nested.py b/tests/test_core/test_nested.py index 7c0b8f68768..4fd10d56538 100644 --- a/tests/test_core/test_nested.py +++ b/tests/test_core/test_nested.py @@ -4,8 +4,10 @@ from boto.sqs.connection import SQSConnection from boto.sqs.message import Message from boto.ec2 import EC2Connection +import requests -from moto import mock_sqs_deprecated, mock_ec2_deprecated +from moto import mock_sqs_deprecated, mock_ec2_deprecated, mock_sqs, mock_sns +from moto.packages import httpretty class TestNestedDecorators(unittest.TestCase): @@ -24,6 +26,17 @@ def setup_sqs_queue(self): @mock_ec2_deprecated def test_nested(self): self.setup_sqs_queue() - conn = EC2Connection() conn.run_instances('ami-123456') + + @mock_sqs + @mock_sns + def test_multiple_mocks_part1(self): + pass + + @httpretty.activate + def test_multiple_mocks_part2(self): + httpretty.register_uri(httpretty.GET, 'http://www.google.com') + response = requests.get('http://www.google.com') + assert(response.status_code == 200) + assert(response.text == 'HTTPretty :)')