r.raw = io.BytesIO(body)
return r
+# The following methods patch requests.Session(), where return_value is a mock
+# Session object. The put/get attributes are set on mock Session, and the
+# desired put/get behavior is set on the put/get mocks.
+
def mock_put_responses(body, *codes, **headers):
m = mock.MagicMock()
if isinstance(body, tuple):
return self._name
def readfrom(self, start, size, num_retries=None):
- self._readfrom(start, size, num_retries=num_retries)
-
- def _readfrom(self, start, size, num_retries=None):
return self._data[start:start + size]
class ApiClientMock(object):
service_type='disk',
service_host=None,
service_port=None,
- service_ssl_flag=False):
+ service_ssl_flag=False,
+ additional_services=[]):
if api_mock is None:
api_mock = self.api_client_mock()
body = {
'service_port': service_port or 65535-i,
'service_ssl_flag': service_ssl_flag,
'service_type': service_type,
- } for i in range(0, count)]
+ } for i in range(0, count)] + additional_services
}
self._mock_api_call(api_mock.keep_services().accessible, status, body)
return api_mock