repo = 'with-merges'
archive = <swh.provenance.storage.archive.ArchiveStorage object at 0x7f9b7a8a49b0>
@pytest.mark.parametrize(
"repo",
("cmdbts2", "out-of-order", "with-merges"),
)
def test_archive_interface(repo: str, archive: ArchiveInterface) -> None:
# read data/README.md for more details on how these datasets are generated
data = load_repo_data(repo)
fill_storage(archive.storage, data)
# test against ArchiveStorage
archive_api = ArchiveStorage(archive.storage)
check_directory_ls(archive, archive_api, data)
check_revision_get_some_outbound_edges(archive, archive_api, data)
check_snapshot_get_heads(archive, archive_api, data)
# test against ArchivePostgreSQL
assert isinstance(archive.storage, Storage)
dsn = archive.storage.get_db().conn.dsn
with BaseDb.connect(dsn).conn as conn:
BaseDb.adapt_conn(conn)
archive_direct = ArchivePostgreSQL(conn)
check_directory_ls(archive, archive_direct, data)
check_revision_get_some_outbound_edges(archive, archive_direct, data)
check_snapshot_get_heads(archive, archive_direct, data)
# test against ArchiveGraph
nodes, edges = get_graph_data(data)
> graph = NaiveClient(nodes=nodes, edges=edges)
.tox/py3/lib/python3.7/site-packages/swh/provenance/tests/test_archive_interface.py:237:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/graph/http_naive_client.py:115: in __init__
self.graph = Graph(nodes, edges)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <swh.graph.http_naive_client.Graph object at 0x7f9b7a8e5e10>
nodes = [CoreSWHID.from_string('swh:1:rev:0d66eadcc15e0d7f6cfd4289329a7749a1309982'), CoreSWHID.from_string('swh:1:dir:1c8d9fd...6b2831f7e8eef0e6e08e43d642c97303a1'), CoreSWHID.from_string('swh:1:dir:4b28979d88ed209a09c272bcc80f69d9b18339c2'), ...]
edges = [(CoreSWHID.from_string('swh:1:dir:baca735bf8b8720131b4bfdb47c51631a9260348'), ExtendedSWHID.from_string('swh:1:dir:4b...5a650cee6907323f986cff4a8428f'), ExtendedSWHID.from_string('swh:1:snp:ee9ea8b0ba40c9012d7d8103234946a21b66a729')), ...]
def __init__(
self, nodes: List[SWHIDlike], edges: List[Tuple[SWHIDlike, SWHIDlike]]
):
self.nodes = [str(node) for node in nodes]
self.forward_edges: Dict[str, List[str]] = {}
self.backward_edges: Dict[str, List[str]] = {}
for node in nodes:
self.forward_edges[str(node)] = []
self.backward_edges[str(node)] = []
for (src, dst) in edges:
self.forward_edges[str(src)].append(str(dst))
> self.backward_edges[str(dst)].append(str(src))
E KeyError: 'swh:1:rel:8ff8d72b4787197be958be7f20f96cb41d58c44f'
.tox/py3/lib/python3.7/site-packages/swh/graph/http_naive_client.py:282: KeyError
TEST RESULT
TEST RESULT
- Run At
- Aug 31 2022, 5:38 PM