repo = 'out-of-order'
archive = <swh.provenance.storage.archive.ArchiveStorage object at 0x7f9b7a8f92b0>
@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 0x7f9b7a90b3c8>
nodes = [CoreSWHID.from_string('swh:1:rev:0d66eadcc15e0d7f6cfd4289329a7749a1309982'), CoreSWHID.from_string('swh:1:dir:1c8d9fd...8027276dad2bdced5a505e8d781a7add5b'), CoreSWHID.from_string('swh:1:rev:1444db96cbd8cd791abe83527becee73d3c64e86'), ...]
edges = [(ExtendedSWHID.from_string('swh:1:ori:bf5800bd509c137fde6cf1706f1f074b7193d399'), ExtendedSWHID.from_string('swh:1:sn...7b5ad86ad592e8e28818171455f16'), ExtendedSWHID.from_string('swh:1:dir:98f7a4a23d8df1fb1a5055facae2aff9b2d0a8b3')), ...]
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:a59993e0263392d837eddbffee4db6ad037cea10'
.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