X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d8e3a67d508e9a5f5c01884259c0e75a140f64e9..b2ef730e0f524bc8e08fbc241c80c170d9f27763:/sdk/python/tests/arvados_testutil.py diff --git a/sdk/python/tests/arvados_testutil.py b/sdk/python/tests/arvados_testutil.py index d9b3ca86c4..35e85d1195 100644 --- a/sdk/python/tests/arvados_testutil.py +++ b/sdk/python/tests/arvados_testutil.py @@ -60,10 +60,10 @@ def mock_responses(body, *codes, **headers): return mock.patch('httplib2.Http.request', side_effect=queue_with(( (fake_httplib2_response(code, **headers), body) for code in codes))) -def mock_api_responses(api_client, body, codes, headers={}): +def mock_api_responses(api_client, body, codes, headers={}, method='request'): if not isinstance(body, bytes) and hasattr(body, 'encode'): body = body.encode() - return mock.patch.object(api_client._http, 'request', side_effect=queue_with(( + return mock.patch.object(api_client._http, method, side_effect=queue_with(( (fake_httplib2_response(code, **headers), body) for code in codes))) def str_keep_locator(s): @@ -280,3 +280,30 @@ if sys.version_info < (3, 0): return self.assertNotRegexpMatches(*args, **kwargs) unittest.TestCase.assertRegex = assertRegex unittest.TestCase.assertNotRegex = assertNotRegex + +def binary_compare(a, b): + if len(a) != len(b): + return False + for i in range(0, len(a)): + if a[i] != b[i]: + return False + return True + +def make_block_cache(disk_cache): + if disk_cache: + disk_cache_dir = os.path.join(os.path.expanduser("~"), ".cache", "arvados", "keep") + shutil.rmtree(disk_cache_dir, ignore_errors=True) + block_cache = arvados.keep.KeepBlockCache(disk_cache=disk_cache) + return block_cache + + +class DiskCacheBase: + def make_block_cache(self, disk_cache): + self.disk_cache_dir = tempfile.mkdtemp() if disk_cache else None + block_cache = arvados.keep.KeepBlockCache(disk_cache=disk_cache, + disk_cache_dir=self.disk_cache_dir) + return block_cache + + def tearDown(self): + if self.disk_cache_dir: + shutil.rmtree(self.disk_cache_dir)