Skip to content
Snippets Groups Projects
Commit 1dc9c926 authored by Alexander Schlemmer's avatar Alexander Schlemmer
Browse files

TST: cleaned up one test in test_sync_graph

parent f4369e4f
No related branches found
No related tags found
2 merge requests!178FIX: #96 Better error output for crawl.py script.,!167Sync Graph
Pipeline #51287 passed with warnings
...@@ -23,13 +23,16 @@ from unittest.mock import MagicMock, Mock, patch ...@@ -23,13 +23,16 @@ from unittest.mock import MagicMock, Mock, patch
import linkahead as db import linkahead as db
import pytest import pytest
from caoscrawler.exceptions import ImpossibleMergeError, MissingIdentifyingProperty from test_crawler import basic_retrieve_by_name_mock_up, mock_get_entity_by
from caoscrawler.exceptions import (ImpossibleMergeError,
MissingIdentifyingProperty)
from caoscrawler.identifiable import Identifiable from caoscrawler.identifiable import Identifiable
from caoscrawler.identifiable_adapters import CaosDBIdentifiableAdapter from caoscrawler.identifiable_adapters import CaosDBIdentifiableAdapter
from caoscrawler.sync_graph import SyncGraph from caoscrawler.sync_graph import SyncGraph
from caoscrawler.sync_node import SyncNode, parent_in_list, property_in_list from caoscrawler.sync_node import SyncNode, parent_in_list, property_in_list
from test_crawler import basic_retrieve_by_name_mock_up, mock_get_entity_by from itertools import product
@pytest.fixture @pytest.fixture
...@@ -66,7 +69,7 @@ def test_create_flat_list(): ...@@ -66,7 +69,7 @@ def test_create_flat_list():
assert b in flat assert b in flat
c = db.Record() c = db.Record()
c.add_property(name="a", value=a) c.add_property(name="a", value=a)
# This would caus recursion if it is not dealt with properly. # This would cause a recursion error if it is not dealt with properly.
a.add_property(name="c", value=c) a.add_property(name="c", value=c)
flat = SyncGraph._create_flat_list([c]) flat = SyncGraph._create_flat_list([c])
assert len(flat) == 3 assert len(flat) == 3
...@@ -82,41 +85,33 @@ def test_create_reference_mapping(): ...@@ -82,41 +85,33 @@ def test_create_reference_mapping():
db.RecordType().add_property("a")) db.RecordType().add_property("a"))
ses = [a, b] ses = [a, b]
mappings = SyncGraph._create_reference_mapping(ses)
# test initialization
for index, mapping in product((0, 1), mappings):
assert id(ses[index]) in mapping
(forward_references, backward_references, forward_id_references, (forward_references, backward_references, forward_id_references,
backward_id_references, forward_id_referenced_by, backward_id_references, forward_id_referenced_by,
backward_id_referenced_by) = SyncGraph._create_reference_mapping(ses) backward_id_referenced_by) = mappings
# test initialization
assert id(ses[0]) in forward_references
assert id(ses[1]) in forward_references
assert id(ses[0]) in backward_references
assert id(ses[1]) in backward_references
assert id(ses[0]) in forward_id_references
assert id(ses[1]) in forward_id_references
assert id(ses[0]) in backward_id_references
assert id(ses[1]) in backward_id_references
assert id(ses[0]) in forward_id_referenced_by
assert id(ses[1]) in forward_id_referenced_by
assert id(ses[0]) in backward_id_referenced_by
assert id(ses[1]) in backward_id_referenced_by
# a has no ref # a has no ref
assert len(forward_references[id(ses[0])]) == 0 assert len(forward_references[id(a)]) == 0
assert backward_references[id(ses[0])] == set([ses[1]]) assert backward_references[id(a)] == set([b])
# b does # b does
assert forward_references[id(ses[1])] == set([ses[0]]) assert forward_references[id(b)] == set([a])
assert backward_references[id(ses[1])] == set() assert backward_references[id(b)] == set()
# a has no identifying reference # a has no identifying reference
assert forward_id_references[id(ses[0])] == set() assert forward_id_references[id(a)] == set()
assert backward_references[id(ses[0])] == set([ses[1]]) assert backward_id_references[id(a)] == set([b])
# b has an identifying reference # b has an identifying reference
assert forward_id_references[id(ses[1])] == set([ses[0]]) assert forward_id_references[id(b)] == set([a])
assert backward_references[id(ses[1])] == set() assert backward_id_references[id(b)] == set()
# a has an identifying back reference # a has an identifying back reference
assert forward_id_referenced_by[id(ses[0])] == set() assert forward_id_referenced_by[id(a)] == set()
assert backward_id_referenced_by[id(ses[0])] == set([ses[1]]) assert backward_id_referenced_by[id(a)] == set([b])
# b does not # b does not
assert forward_id_referenced_by[id(ses[1])] == set([ses[0]]) assert forward_id_referenced_by[id(b)] == set([a])
assert backward_id_referenced_by[id(ses[1])] == set() assert backward_id_referenced_by[id(b)] == set()
@patch("caoscrawler.sync_graph.cached_get_entity_by", @patch("caoscrawler.sync_graph.cached_get_entity_by",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment