diff --git a/debian/control b/debian/control index 4f7eed1..df384cf 100644 --- a/debian/control +++ b/debian/control @@ -1,34 +1,34 @@ Source: swh-vault Maintainer: Software Heritage developers <swh-devel@inria.fr> Section: python Priority: optional Build-Depends: debhelper (>= 9), dh-python (>= 2), python3-all, python3-click, python3-dateutil, python3-dulwich, python3-fastimport, python3-flask, python3-nose, python3-psycopg2, python3-setuptools, python3-swh.core (>= 0.0.44~), - python3-swh.model (>= 0.0.18~), + python3-swh.model (>= 0.0.27~), python3-swh.objstorage (>= 0.0.17~), python3-swh.scheduler (>= 0.0.26~), python3-swh.storage (>= 0.0.108~), python3-vcversioner Standards-Version: 3.9.6 Homepage: https://forge.softwareheritage.org/diffusion/DVAU/ Package: python3-swh.vault Architecture: all Depends: python3-swh.core (>= 0.0.44~), - python3-swh.model (>= 0.0.18~), + python3-swh.model (>= 0.0.27~), python3-swh.objstorage (>= 0.0.17~), python3-swh.scheduler (>= 0.0.26~), python3-swh.storage (>= 0.0.108~), ${misc:Depends}, ${python3:Depends} Description: Software Heritage Vault diff --git a/requirements-swh.txt b/requirements-swh.txt index 65a75e3..d7eec3d 100644 --- a/requirements-swh.txt +++ b/requirements-swh.txt @@ -1,5 +1,5 @@ swh.core >= 0.0.44 -swh.model >= 0.0.18 +swh.model >= 0.0.27 swh.objstorage >= 0.0.17 swh.scheduler >= 0.0.26 swh.storage >= 0.0.106 diff --git a/swh/vault/tests/vault_testing.py b/swh/vault/tests/vault_testing.py index 7b71330..2ab5280 100644 --- a/swh/vault/tests/vault_testing.py +++ b/swh/vault/tests/vault_testing.py @@ -1,64 +1,74 @@ # Copyright (C) 2017 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information import os import tempfile from swh.model import hashutil from swh.vault.backend import VaultBackend from swh.storage.tests.storage_testing import StorageTestFixture from swh.vault.tests import SQL_DIR class VaultTestFixture(StorageTestFixture): """Mix this in a test subject class to get Vault Database testing support. This fixture requires to come before DbTestFixture and StorageTestFixture in the inheritance list as it uses their methods to setup its own internal components. Usage example: class TestVault(VaultTestFixture, unittest.TestCase): ... """ TEST_DB_NAME = 'softwareheritage-test-vault' TEST_DB_DUMP = [StorageTestFixture.TEST_DB_DUMP, os.path.join(SQL_DIR, '*.sql')] def setUp(self): super().setUp() self.cache_root = tempfile.TemporaryDirectory('vault-cache-') self.vault_config = { 'storage': self.storage_config, 'cache': { 'cls': 'pathslicing', 'args': { 'root': self.cache_root.name, 'slicing': '0:1/1:5', 'allow_delete': True, } }, 'db': 'postgresql:///' + self.TEST_DB_NAME, 'scheduler': None, } self.vault_backend = VaultBackend(self.vault_config) def tearDown(self): self.cache_root.cleanup() self.vault_backend.close() self.reset_storage_tables() self.reset_vault_tables() super().tearDown() def reset_vault_tables(self): excluded = {'dbversion'} self.reset_db_tables(self.TEST_DB_NAME, excluded=excluded) def hash_content(content): - obj_id = hashutil.hash_data(content)['sha1'] - return content, obj_id + """Hash the content's id (sha1). + + Args: + content (bytes): Content to hash + + Returns: + The tuple (content, content's id as bytes) + + """ + hashes = hashutil.MultiHash.from_data( + content, hash_names=['sha1']).digest() + return content, hashes['sha1']