# Copyright (C) 2020 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 attr from swh.model.model import Revision from swh.storage import get_storage from swh.storage.tests.storage_data import data def test_revision_extra_header_in_metadata(swh_storage_backend_config): storage = get_storage(**swh_storage_backend_config) rev = Revision.from_dict(data.revision) bw_rev = attr.evolve( rev, metadata=dict(rev.metadata.items(), extra_headers=[list(x) for x in rev.extra_headers]), extra_headers=()) assert storage.revision_add([bw_rev]) == {"revision:add": 1} assert list(storage.journal_writer.journal.objects) == [ ("revision", rev) ] assert [Revision.from_dict(x) for x in storage.revision_get([rev.id])] == [rev]