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
import linkahead as db
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_adapters import CaosDBIdentifiableAdapter
from caoscrawler.sync_graph import SyncGraph
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
......@@ -66,7 +69,7 @@ def test_create_flat_list():
assert b in flat
c = db.Record()
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)
flat = SyncGraph._create_flat_list([c])
assert len(flat) == 3
......@@ -82,41 +85,33 @@ def test_create_reference_mapping():
db.RecordType().add_property("a"))
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,
backward_id_references, forward_id_referenced_by,
backward_id_referenced_by) = SyncGraph._create_reference_mapping(ses)
# 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
backward_id_referenced_by) = mappings
# a has no ref
assert len(forward_references[id(ses[0])]) == 0
assert backward_references[id(ses[0])] == set([ses[1]])
assert len(forward_references[id(a)]) == 0
assert backward_references[id(a)] == set([b])
# b does
assert forward_references[id(ses[1])] == set([ses[0]])
assert backward_references[id(ses[1])] == set()
assert forward_references[id(b)] == set([a])
assert backward_references[id(b)] == set()
# a has no identifying reference
assert forward_id_references[id(ses[0])] == set()
assert backward_references[id(ses[0])] == set([ses[1]])
assert forward_id_references[id(a)] == set()
assert backward_id_references[id(a)] == set([b])
# b has an identifying reference
assert forward_id_references[id(ses[1])] == set([ses[0]])
assert backward_references[id(ses[1])] == set()
assert forward_id_references[id(b)] == set([a])
assert backward_id_references[id(b)] == set()
# a has an identifying back reference
assert forward_id_referenced_by[id(ses[0])] == set()
assert backward_id_referenced_by[id(ses[0])] == set([ses[1]])
assert forward_id_referenced_by[id(a)] == set()
assert backward_id_referenced_by[id(a)] == set([b])
# b does not
assert forward_id_referenced_by[id(ses[1])] == set([ses[0]])
assert backward_id_referenced_by[id(ses[1])] == set()
assert forward_id_referenced_by[id(b)] == set([a])
assert backward_id_referenced_by[id(b)] == set()
@patch("caoscrawler.sync_graph.cached_get_entity_by",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment