You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2017/04/13 09:33:13 UTC

[07/46] libcloud git commit: remove all references to the mock response classes and consolidate the rawmockhttp classes with the mockhttp classes

remove all references to the mock response classes and consolidate the rawmockhttp classes with the mockhttp classes


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/6c6cf413
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/6c6cf413
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/6c6cf413

Branch: refs/heads/trunk
Commit: 6c6cf413b8d70dd25776f8eacaeadf5b733ee2e3
Parents: 8701590
Author: Anthony Shaw <an...@apache.org>
Authored: Tue Apr 11 11:48:26 2017 +1000
Committer: Anthony Shaw <an...@apache.org>
Committed: Tue Apr 11 11:48:26 2017 +1000

----------------------------------------------------------------------
 libcloud/test/__init__.py                       | 22 +++++++++++++++++---
 .../test/compute/test_dimensiondata_v2_4.py     | 12 +++--------
 libcloud/test/compute/test_opennebula.py        |  5 +++--
 libcloud/test/storage/test_atmos.py             | 14 ++++---------
 libcloud/test/storage/test_azure_blobs.py       | 20 +++++-------------
 libcloud/test/storage/test_backblaze_b2.py      | 11 +++-------
 libcloud/test/storage/test_base.py              |  8 +++----
 libcloud/test/storage/test_cloudfiles.py        | 13 ++----------
 libcloud/test/storage/test_oss.py               | 14 ++-----------
 libcloud/test/storage/test_s3.py                | 14 +++----------
 10 files changed, 47 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/__init__.py
----------------------------------------------------------------------
diff --git a/libcloud/test/__init__.py b/libcloud/test/__init__.py
index f75991f..be75456 100644
--- a/libcloud/test/__init__.py
+++ b/libcloud/test/__init__.py
@@ -129,8 +129,8 @@ class MockHttp(LibcloudConnection):
     proxy_url = None
 
 
-    def request(self, method, url, body=None, headers=None, raw=False, stream=False):
-        # Find a method we can use for this request
+    def _get_request(self, method, url, body=None, headers=None, raw=False, stream=False):
+         # Find a method we can use for this request
         parsed = urlparse.urlparse(url)
         _, _, path, _, query, _ = parsed
         qs = parse_qs(query)
@@ -145,7 +145,10 @@ class MockHttp(LibcloudConnection):
             self.test._add_visited_url(url=url)
             self.test._add_executed_mock_method(method_name=meth_name)
 
-        r_status, r_body, r_headers, r_reason = meth(method, url, body, headers)
+        return meth(method, url, body, headers)
+
+    def request(self, method, url, body=None, headers=None, raw=False, stream=False):
+        r_status, r_body, r_headers, r_reason = self._get_request(method, url, body, headers)
 
         with requests_mock.mock() as m:
             m.register_uri(method, url, text=r_body, reason=r_reason,
@@ -154,6 +157,17 @@ class MockHttp(LibcloudConnection):
                 method=method, url=url, body=body, headers=headers,
                 raw=raw, stream=stream)
 
+    def prepared_request(self, method, url, body=None,
+                         headers=None, raw=False, stream=False):
+        r_status, r_body, r_headers, r_reason = self._get_request(method, url, body, headers)
+
+        with requests_mock.mock() as m:
+            m.register_uri(method, url, text=r_body, reason=r_reason,
+                           headers=r_headers, status_code=r_status)
+            super(MockHttp, self).prepared_request(
+                method=method, url=url, body=body, headers=headers,
+                raw=raw, stream=stream)
+
     # Mock request/response example
     def _example(self, method, url, body, headers):
         """
@@ -228,6 +242,8 @@ class MockConnection(object):
     def __init__(self, action):
         self.action = action
 
+StorageMockHttp = MockHttp
+
 
 if __name__ == "__main__":
     import doctest

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/compute/test_dimensiondata_v2_4.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_dimensiondata_v2_4.py b/libcloud/test/compute/test_dimensiondata_v2_4.py
index d746d05..6b30081 100644
--- a/libcloud/test/compute/test_dimensiondata_v2_4.py
+++ b/libcloud/test/compute/test_dimensiondata_v2_4.py
@@ -33,7 +33,7 @@ from libcloud.common.dimensiondata import TYPES_URN
 from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver as DimensionData
 from libcloud.compute.drivers.dimensiondata import DimensionDataNic
 from libcloud.compute.base import Node, NodeAuthPassword, NodeLocation
-from libcloud.test import MockHttp, unittest, MockRawResponse, StorageMockHttp
+from libcloud.test import MockHttp, unittest
 from libcloud.test.compute import TestCaseMixin
 from libcloud.test.file_fixtures import ComputeFileFixtures
 from libcloud.test.secrets import DIMENSIONDATA_PARAMS
@@ -45,8 +45,6 @@ class DimensionData_v2_4_Tests(unittest.TestCase, TestCaseMixin):
     def setUp(self):
         DimensionData.connectionCls.active_api_version = '2.4'
         DimensionData.connectionCls.conn_class = DimensionDataMockHttp
-        DimensionData.connectionCls.rawResponseCls = \
-            DimensionDataMockRawResponse
         DimensionDataMockHttp.type = None
         self.driver = DimensionData(*DIMENSIONDATA_PARAMS)
 
@@ -2125,7 +2123,8 @@ class InvalidRequestError(Exception):
         super(InvalidRequestError, self).__init__("Invalid Request - %s" % tag)
 
 
-class DimensionDataMockRawResponse(MockRawResponse):
+class DimensionDataMockHttp(MockHttp):
+
     fixtures = ComputeFileFixtures('dimensiondata')
 
     def _oec_0_9_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_report_usage(self, method, url, body, headers):
@@ -2146,11 +2145,6 @@ class DimensionDataMockRawResponse(MockRawResponse):
         )
         return (httplib.BAD_REQUEST, body, {}, httplib.responses[httplib.OK])
 
-
-class DimensionDataMockHttp(StorageMockHttp, MockHttp):
-
-    fixtures = ComputeFileFixtures('dimensiondata')
-
     def _oec_0_9_myaccount_UNAUTHORIZED(self, method, url, body, headers):
         return (httplib.UNAUTHORIZED, "", {}, httplib.responses[httplib.UNAUTHORIZED])
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/compute/test_opennebula.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_opennebula.py b/libcloud/test/compute/test_opennebula.py
index 345a2cf..049ec48 100644
--- a/libcloud/test/compute/test_opennebula.py
+++ b/libcloud/test/compute/test_opennebula.py
@@ -36,7 +36,8 @@ from libcloud.compute.drivers.opennebula import ACTION
 
 from libcloud.test.file_fixtures import ComputeFileFixtures
 from libcloud.common.types import InvalidCredsError
-from libcloud.test import MockResponse, MockHttp
+from libcloud.common.base import Response
+from libcloud.test import MockHttp
 from libcloud.test.compute import TestCaseMixin
 
 from libcloud.test.secrets import OPENNEBULA_PARAMS
@@ -52,7 +53,7 @@ class OpenNebula_ResponseTests(unittest.TestCase):
     XML = """<?xml version="1.0" encoding="UTF-8"?><root/>"""
 
     def test_unauthorized_response(self):
-        http_response = MockResponse(httplib.UNAUTHORIZED,
+        http_response = Response(httplib.UNAUTHORIZED,
                                      OpenNebula_ResponseTests.XML,
                                      headers={'content-type':
                                               'application/xml'})

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_atmos.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_atmos.py b/libcloud/test/storage/test_atmos.py
index 7f6baf2..28ba7ba 100644
--- a/libcloud/test/storage/test_atmos.py
+++ b/libcloud/test/storage/test_atmos.py
@@ -33,7 +33,7 @@ from libcloud.storage.types import ContainerAlreadyExistsError, \
 from libcloud.storage.drivers.atmos import AtmosConnection, AtmosDriver
 from libcloud.storage.drivers.dummy import DummyIterator
 
-from libcloud.test import StorageMockHttp, MockRawResponse, MockResponse
+from libcloud.test import MockHttp
 from libcloud.test.file_fixtures import StorageFileFixtures
 
 
@@ -41,11 +41,9 @@ class AtmosTests(unittest.TestCase):
 
     def setUp(self):
         AtmosDriver.connectionCls.conn_class = AtmosMockHttp
-        AtmosDriver.connectionCls.rawResponseCls = AtmosMockRawResponse
         AtmosDriver.path = ''
         AtmosMockHttp.type = None
         AtmosMockHttp.upload_created = False
-        AtmosMockRawResponse.type = None
         self.driver = AtmosDriver('dummy', base64.b64encode(b('dummy')))
         self._remove_test_file()
 
@@ -247,7 +245,7 @@ class AtmosTests(unittest.TestCase):
         self.assertTrue(result)
 
     def test_download_object_success_not_found(self):
-        AtmosMockRawResponse.type = 'NOT_FOUND'
+        AtmosMockHttp.type = 'NOT_FOUND'
         container = Container(name='foo_bar_container', extra={},
                               driver=self.driver)
 
@@ -475,7 +473,7 @@ class AtmosTests(unittest.TestCase):
                              b(expected).decode('utf-8'))
 
 
-class AtmosMockHttp(StorageMockHttp, unittest.TestCase):
+class AtmosMockHttp(MockHttp, unittest.TestCase):
     fixtures = StorageFileFixtures('atmos')
     upload_created = False
     upload_stream_created = False
@@ -484,7 +482,7 @@ class AtmosMockHttp(StorageMockHttp, unittest.TestCase):
         unittest.TestCase.__init__(self)
 
         if kwargs.get('host', None) and kwargs.get('port', None):
-            StorageMockHttp.__init__(self, *args, **kwargs)
+            MockHttp.__init__(self, *args, **kwargs)
 
         self._upload_object_via_stream_first_request = True
 
@@ -750,10 +748,6 @@ class AtmosMockHttp(StorageMockHttp, unittest.TestCase):
     def _rest_namespace_fbc_ftu(self, method, url, body, headers):
         return (httplib.CREATED, '', {}, httplib.responses[httplib.CREATED])
 
-
-class AtmosMockRawResponse(MockRawResponse):
-    fixtures = StorageFileFixtures('atmos')
-
     def _rest_namespace_foo_bar_container_foo_bar_object(self, method, url,
                                                          body, headers):
         body = self._generate_random_data(1000)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_azure_blobs.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_azure_blobs.py b/libcloud/test/storage/test_azure_blobs.py
index 5eefbaa..58ccda8 100644
--- a/libcloud/test/storage/test_azure_blobs.py
+++ b/libcloud/test/storage/test_azure_blobs.py
@@ -39,13 +39,12 @@ from libcloud.storage.drivers.azure_blobs import AzureBlobsStorageDriver
 from libcloud.storage.drivers.azure_blobs import AZURE_BLOCK_MAX_SIZE
 from libcloud.storage.drivers.azure_blobs import AZURE_PAGE_CHUNK_SIZE
 
-from libcloud.test import StorageMockHttp, MockRawResponse  # pylint: disable-msg=E0611
-from libcloud.test import MockHttpTestCase  # pylint: disable-msg=E0611
+from libcloud.test import MockHttp # pylint: disable-msg=E0611
 from libcloud.test.file_fixtures import StorageFileFixtures  # pylint: disable-msg=E0611
 from libcloud.test.secrets import STORAGE_AZURE_BLOBS_PARAMS
 
 
-class AzureBlobsMockHttp(StorageMockHttp, MockHttpTestCase):
+class AzureBlobsMockHttp(MockHttp):
 
     fixtures = StorageFileFixtures('azure_blobs')
     base_headers = {}
@@ -317,11 +316,6 @@ class AzureBlobsMockHttp(StorageMockHttp, MockHttpTestCase):
                     headers,
                     httplib.responses[httplib.CREATED])
 
-
-class AzureBlobsMockRawResponse(MockRawResponse):
-
-    fixtures = StorageFileFixtures('azure_blobs')
-
     def _foo_bar_container_foo_test_upload_INVALID_HASH(self, method, url,
                                                         body, headers):
         body = ''
@@ -368,7 +362,6 @@ class AzureBlobsTests(unittest.TestCase):
     driver_type = AzureBlobsStorageDriver
     driver_args = STORAGE_AZURE_BLOBS_PARAMS
     mock_response_klass = AzureBlobsMockHttp
-    mock_raw_response_klass = AzureBlobsMockRawResponse
 
     @classmethod
     def create_driver(self):
@@ -376,10 +369,7 @@ class AzureBlobsTests(unittest.TestCase):
 
     def setUp(self):
         self.driver_type.connectionCls.conn_class = self.mock_response_klass
-        self.driver_type.connectionCls.rawResponseCls = \
-            self.mock_raw_response_klass
         self.mock_response_klass.type = None
-        self.mock_raw_response_klass.type = None
         self.driver = self.create_driver()
 
     def tearDown(self):
@@ -586,7 +576,7 @@ class AzureBlobsTests(unittest.TestCase):
         self.assertTrue(result)
 
     def test_download_object_invalid_file_size(self):
-        self.mock_raw_response_klass.type = 'INVALID_SIZE'
+        self.mock_response_klass.type = 'INVALID_SIZE'
         container = Container(name='foo_bar_container', extra={},
                               driver=self.driver)
         obj = Object(name='foo_bar_object', size=1000, hash=None, extra={},
@@ -600,7 +590,7 @@ class AzureBlobsTests(unittest.TestCase):
         self.assertFalse(result)
 
     def test_download_object_invalid_file_already_exists(self):
-        self.mock_raw_response_klass.type = 'INVALID_SIZE'
+        self.mock_response_klass.type = 'INVALID_SIZE'
         container = Container(name='foo_bar_container', extra={},
                               driver=self.driver)
         obj = Object(name='foo_bar_object', size=1000, hash=None, extra={},
@@ -649,7 +639,7 @@ class AzureBlobsTests(unittest.TestCase):
 
     def test_upload_object_invalid_md5(self):
         # Invalid md5 is returned by azure
-        self.mock_raw_response_klass.type = 'INVALID_HASH'
+        self.mock_response_klass.type = 'INVALID_HASH'
 
         container = Container(name='foo_bar_container', extra={},
                               driver=self.driver)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_backblaze_b2.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_backblaze_b2.py b/libcloud/test/storage/test_backblaze_b2.py
index c537762..074bd67 100644
--- a/libcloud/test/storage/test_backblaze_b2.py
+++ b/libcloud/test/storage/test_backblaze_b2.py
@@ -22,8 +22,7 @@ import mock
 from libcloud.storage.drivers.backblaze_b2 import BackblazeB2StorageDriver
 from libcloud.utils.py3 import httplib
 from libcloud.test import unittest
-from libcloud.test import StorageMockHttp
-from libcloud.test import MockRawResponse
+from libcloud.test import MockHttp
 from libcloud.test import MockHttpTestCase
 from libcloud.test.file_fixtures import StorageFileFixtures
 
@@ -40,10 +39,8 @@ class BackblazeB2StorageDriverTestCase(unittest.TestCase):
         self.driver_klass.connectionCls.authCls = MockAuthConn()
         self.driver_klass.connectionCls.conn_class = \
             BackblazeB2MockHttp
-        self.driver_klass.connectionCls.rawResponseCls = \
-            BackblazeB2MockRawResponse
+
         BackblazeB2MockHttp.type = None
-        BackblazeB2MockRawResponse.type = None
         self.driver = self.driver_klass(*self.driver_args)
 
     def test_list_containers(self):
@@ -156,7 +153,7 @@ class BackblazeB2StorageDriverTestCase(unittest.TestCase):
         self.assertEqual(url, 'https://podxxx.backblaze.com/b2api/v1/b2_upload_file/abcd/defg')
 
 
-class BackblazeB2MockHttp(StorageMockHttp, MockHttpTestCase):
+class BackblazeB2MockHttp(MockHttp):
     fixtures = StorageFileFixtures('backblaze_b2')
 
     def _b2api_v1_b2_list_buckets(self, method, url, body, headers):
@@ -232,8 +229,6 @@ class BackblazeB2MockHttp(StorageMockHttp, MockHttpTestCase):
             raise AssertionError('Unsupported method')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
-
-class BackblazeB2MockRawResponse(MockRawResponse):
     def _file_test00001_2_txt(self, method, url, body, headers):
         # test_download_object
         if method == 'GET':

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_base.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_base.py b/libcloud/test/storage/test_base.py
index 66f0ae1..127eda1 100644
--- a/libcloud/test/storage/test_base.py
+++ b/libcloud/test/storage/test_base.py
@@ -27,11 +27,10 @@ from libcloud.storage.base import StorageDriver
 from libcloud.storage.base import DEFAULT_CONTENT_TYPE
 
 from libcloud.test import unittest
-from libcloud.test import StorageMockHttp
-from libcloud.test import MockRawResponse
+from libcloud.test import MockHttp
 
 
-class BaseMockRawResponse(MockRawResponse):
+class BaseMockRawResponse(MockHttp):
     def _(self, method, url, body, headers):
         body = 'ab'
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -41,8 +40,7 @@ class BaseStorageTests(unittest.TestCase):
 
     def setUp(self):
         self.send_called = 0
-        StorageDriver.connectionCls.conn_class = StorageMockHttp
-        StorageDriver.connectionCls.rawResponseCls = BaseMockRawResponse
+        StorageDriver.connectionCls.conn_class = BaseMockRawResponse
 
         self.driver1 = StorageDriver('username', 'key', host='localhost')
         self.driver1.supports_chunked_encoding = True

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_cloudfiles.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_cloudfiles.py b/libcloud/test/storage/test_cloudfiles.py
index 80fd697..e42540a 100644
--- a/libcloud/test/storage/test_cloudfiles.py
+++ b/libcloud/test/storage/test_cloudfiles.py
@@ -39,7 +39,7 @@ from libcloud.storage.types import ObjectHashMismatchError
 from libcloud.storage.types import InvalidContainerNameError
 from libcloud.storage.drivers.cloudfiles import CloudFilesStorageDriver
 
-from libcloud.test import StorageMockHttp, MockRawResponse, MockResponse  # pylint: disable-msg=E0611
+from libcloud.test import MockHttp  # pylint: disable-msg=E0611
 from libcloud.test import MockHttpTestCase  # pylint: disable-msg=E0611
 from libcloud.test import unittest
 from libcloud.test.file_fixtures import StorageFileFixtures  # pylint: disable-msg=E0611
@@ -53,10 +53,7 @@ class CloudFilesTests(unittest.TestCase):
 
     def setUp(self):
         self.driver_klass.connectionCls.conn_class = CloudFilesMockHttp
-        self.driver_klass.connectionCls.rawResponseCls = \
-            CloudFilesMockRawResponse
         CloudFilesMockHttp.type = None
-        CloudFilesMockRawResponse.type = None
 
         driver_kwargs = self.driver_kwargs.copy()
         driver_kwargs['region'] = self.region
@@ -888,7 +885,7 @@ class CloudFilesDeprecatedUKTests(CloudFilesTests):
     region = 'lon'
 
 
-class CloudFilesMockHttp(StorageMockHttp, MockHttpTestCase):
+class CloudFilesMockHttp(MockHttp):
 
     fixtures = StorageFileFixtures('cloudfiles')
     base_headers = {'content-type': 'application/json; charset=UTF-8'}
@@ -1148,12 +1145,6 @@ class CloudFilesMockHttp(StorageMockHttp, MockHttpTestCase):
 
         return (status_code, body, headers, httplib.responses[httplib.OK])
 
-
-class CloudFilesMockRawResponse(MockRawResponse):
-
-    fixtures = StorageFileFixtures('cloudfiles')
-    base_headers = {'content-type': 'application/json; charset=UTF-8'}
-
     def _v1_MossoCloudFS_py3_img_or_vid(self, method, url, body, headers):
         headers = {'etag': 'e2378cace8712661ce7beec3d9362ef6'}
         headers.update(self.base_headers)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_oss.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_oss.py b/libcloud/test/storage/test_oss.py
index 304b809..d2fbe13 100644
--- a/libcloud/test/storage/test_oss.py
+++ b/libcloud/test/storage/test_oss.py
@@ -47,7 +47,7 @@ from libcloud.storage.drivers.oss import OSSConnection
 from libcloud.storage.drivers.oss import OSSStorageDriver
 from libcloud.storage.drivers.oss import CHUNK_SIZE
 from libcloud.storage.drivers.dummy import DummyIterator
-from libcloud.test import StorageMockHttp, MockRawResponse, MockResponse  # pylint: disable-msg=E0611
+from libcloud.test import MockHttp  # pylint: disable-msg=E0611
 from libcloud.test import MockHttpTestCase  # pylint: disable-msg=E0611
 from libcloud.test.file_fixtures import StorageFileFixtures  # pylint: disable-msg=E0611
 from libcloud.test.secrets import STORAGE_OSS_PARAMS
@@ -85,7 +85,7 @@ class ObjectTestCase(unittest.TestCase):
         self.assertTrue(obj.__repr__() is not None)
 
 
-class OSSMockHttp(StorageMockHttp, MockHttpTestCase):
+class OSSMockHttp(MockHttp):
 
     fixtures = StorageFileFixtures('oss')
     base_headers = {}
@@ -309,11 +309,6 @@ class OSSMockHttp(StorageMockHttp, MockHttpTestCase):
                 headers,
                 httplib.responses[httplib.OK])
 
-
-class OSSMockRawResponse(MockRawResponse, MockHttpTestCase):
-
-    fixtures = StorageFileFixtures('oss')
-
     def parse_body(self):
         if len(self.body) == 0 and not self.parse_zero_length_body:
             return self.body
@@ -412,7 +407,6 @@ class OSSStorageDriverTestCase(unittest.TestCase):
     driver_type = OSSStorageDriver
     driver_args = STORAGE_OSS_PARAMS
     mock_response_klass = OSSMockHttp
-    mock_raw_response_klass = OSSMockRawResponse
 
     @classmethod
     def create_driver(self):
@@ -420,12 +414,8 @@ class OSSStorageDriverTestCase(unittest.TestCase):
 
     def setUp(self):
         self.driver_type.connectionCls.conn_class = self.mock_response_klass
-        self.driver_type.connectionCls.rawResponseCls = \
-            self.mock_raw_response_klass
         self.mock_response_klass.type = None
         self.mock_response_klass.test = self
-        self.mock_raw_response_klass.type = None
-        self.mock_raw_response_klass.test = self
         self.driver = self.create_driver()
 
     def tearDown(self):

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6c6cf413/libcloud/test/storage/test_s3.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_s3.py b/libcloud/test/storage/test_s3.py
index d2de5d5..44ee4a6 100644
--- a/libcloud/test/storage/test_s3.py
+++ b/libcloud/test/storage/test_s3.py
@@ -48,14 +48,14 @@ from libcloud.storage.drivers.s3 import S3APNEStorageDriver
 from libcloud.storage.drivers.s3 import CHUNK_SIZE
 from libcloud.utils.py3 import b
 
-from libcloud.test import StorageMockHttp, MockRawResponse, MockResponse  # pylint: disable-msg=E0611
+from libcloud.test import MockHttp # pylint: disable-msg=E0611
 from libcloud.test import MockHttpTestCase  # pylint: disable-msg=E0611
 from libcloud.test import unittest
 from libcloud.test.file_fixtures import StorageFileFixtures  # pylint: disable-msg=E0611
 from libcloud.test.secrets import STORAGE_S3_PARAMS
 
 
-class S3MockHttp(StorageMockHttp, MockHttpTestCase):
+class S3MockHttp(MockHttp):
 
     fixtures = StorageFileFixtures('s3')
     base_headers = {}
@@ -303,11 +303,6 @@ class S3MockHttp(StorageMockHttp, MockHttpTestCase):
                 headers,
                 httplib.responses[httplib.NO_CONTENT])
 
-
-class S3MockRawResponse(MockRawResponse):
-
-    fixtures = StorageFileFixtures('s3')
-
     def parse_body(self):
         if len(self.body) == 0 and not self.parse_zero_length_body:
             return self.body
@@ -386,7 +381,6 @@ class S3Tests(unittest.TestCase):
     driver_type = S3StorageDriver
     driver_args = STORAGE_S3_PARAMS
     mock_response_klass = S3MockHttp
-    mock_raw_response_klass = S3MockRawResponse
 
     @classmethod
     def create_driver(self):
@@ -394,10 +388,8 @@ class S3Tests(unittest.TestCase):
 
     def setUp(self):
         self.driver_type.connectionCls.conn_class = self.mock_response_klass
-        self.driver_type.connectionCls.rawResponseCls = \
-            self.mock_raw_response_klass
+
         self.mock_response_klass.type = None
-        self.mock_raw_response_klass.type = None
         self.driver = self.create_driver()
 
     def tearDown(self):