X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f22dda84271714c924c322bafba5e9f184e4fb33..5b1602a521d3f6689f5988cdc2b25b74ff9fc1e1:/sdk/python/tests/arvados_testutil.py diff --git a/sdk/python/tests/arvados_testutil.py b/sdk/python/tests/arvados_testutil.py index 2926b20bfa..a10802ae81 100644 --- a/sdk/python/tests/arvados_testutil.py +++ b/sdk/python/tests/arvados_testutil.py @@ -53,6 +53,10 @@ def fake_requests_response(code, body, **headers): 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): @@ -90,9 +94,6 @@ class MockStreamReader(object): 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): @@ -103,7 +104,8 @@ 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 = { @@ -115,7 +117,7 @@ class ApiClientMock(object): '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