diff --git a/unittests/test_identifiable_adapters.py b/unittests/test_identifiable_adapters.py index 8fbbf07e467a46a48cb3a1e6d648c7ec74c7d2b3..5108e83c83db16f1b44d836bf22d21d8e871ee8f 100644 --- a/unittests/test_identifiable_adapters.py +++ b/unittests/test_identifiable_adapters.py @@ -44,7 +44,6 @@ from caoscrawler.sync_graph import SyncNode UNITTESTDIR = Path(__file__).parent - def mock_retrieve_RecordType(id, name): return { "Person": db.RecordType(name="Person"), @@ -58,6 +57,7 @@ def mock_retrieve_RecordType(id, name): "Measurement": db.RecordType(name="Measurement").add_parent("Experiment") }[name] + def test_create_query_for_identifiable(): query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(record_type="Person", properties={"first_name": "A", "last_name": "B"})) @@ -113,7 +113,8 @@ def test_create_query_for_identifiable(): Identifiable(record_type="record type", name="it's weird")) assert query == ("FIND RECORD 'record type' WITH name='it\\'s weird'") -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", new=Mock(side_effect=mock_retrieve_RecordType)) def test_load_from_yaml_file(): ident = CaosDBIdentifiableAdapter() @@ -189,7 +190,8 @@ def test_convert_value(): assert convert_value(A()) == " a " -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", new=Mock(side_effect=mock_retrieve_RecordType)) def test_get_identifiable(): ident = CaosDBIdentifiableAdapter() @@ -300,7 +302,8 @@ def test_referencing_entity_has_appropriate_type(): registered_identifiable.properties[0].value = ["B", "*"] assert rft(dummy.parents, registered_identifiable) -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", new=Mock(side_effect=mock_retrieve_RecordType)) def test_get_registered_identifiable(): # Test the case that the record has a parent for which an identifiable is registered @@ -317,7 +320,6 @@ def test_get_registered_identifiable(): assert registered is not None assert registered.parents[0].name == "Experiment" - # Test the same but with an additional parent that also has a registered identifiable rec = db.Record().add_parent(name="Analysis").add_parent(name="Experiment") with pytest.raises(RuntimeError): @@ -335,4 +337,4 @@ def test_get_registered_identifiable(): rec = db.Record().add_parent(name="Measurement") registered = ident.get_registered_identifiable(rec) assert registered is not None - assert registered.parents[0].name == "Experiment" \ No newline at end of file + assert registered.parents[0].name == "Experiment" diff --git a/unittests/test_sync_graph.py b/unittests/test_sync_graph.py index 85979a582763da0f1dbb71d29457c34082ad817d..030306b95578865cdbfe19bdef2998a573848bd5 100644 --- a/unittests/test_sync_graph.py +++ b/unittests/test_sync_graph.py @@ -139,8 +139,9 @@ def test_create_reference_mapping(): assert forward_references_backref[id(b)] == set([a]) assert backward_references_backref[id(b)] == set() -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.sync_graph.cached_get_entity_by", new=Mock(side_effect=mock_get_entity_by)) def test_SyncGraph_init(): @@ -204,8 +205,9 @@ def test_SyncGraph_init(): if not st._identity_relies_on_unchecked_entity(el): assert el.identifiable is not None or el.id is not None -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.identifiable_adapters.get_children_of_rt", new=Mock(side_effect=lambda x: [x])) def test_merge_into_trivial(simple_adapter): @@ -283,8 +285,9 @@ def test_merge_into_trivial(simple_adapter): assert len(st.backward_references_backref[id(se_c)]) == 1 assert se_b in st.backward_references_backref[id(se_c)] -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.identifiable_adapters.get_children_of_rt", new=Mock(side_effect=lambda x: [x])) def test_merge_into_simple(simple_adapter): @@ -365,8 +368,9 @@ def test_merge_into_simple(simple_adapter): assert len(st.backward_references_backref[id(se_c)]) == 1 se_b in st.backward_references_backref[id(se_c)] -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.identifiable_adapters.get_children_of_rt", new=Mock(side_effect=lambda x: [x])) def test_backward_references_backref(): @@ -384,8 +388,9 @@ def test_backward_references_backref(): st = SyncGraph(ent_list, ident_adapter) assert st.nodes[1] in st.backward_references_backref[id(st.nodes[0])] -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.identifiable_adapters.get_children_of_rt", new=Mock(side_effect=lambda x: [x])) def test_set_id_of_node(simple_adapter): @@ -488,8 +493,9 @@ def test_set_id_of_node(simple_adapter): assert st.nodes[0].identifiable is not None assert len(st.nodes) == 2 -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.sync_graph.cached_get_entity_by", new=Mock(side_effect=mock_get_entity_by)) def test_merging(simple_adapter): @@ -574,8 +580,9 @@ def test_merging(simple_adapter): assert len(st.nodes) == 4 assert len(st.unchecked) == 0 -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) def test_update_of_reference_values(simple_adapter): # multiple nodes are merged including one that is referenced # assure that this still leads to the value of the property of the referencing node to be @@ -598,8 +605,9 @@ def test_update_of_reference_values(simple_adapter): b_prop = st.nodes[1].properties[0].value assert b_prop.id == 101 -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) def test_ignoring_irrelevant_references(simple_adapter): # make sure that a circle of references is no problem if one references is not identifying b = db.Record(name='b').add_parent("RT5") @@ -660,8 +668,9 @@ def test_set_each_scalar_value(): _set_each_scalar_value(a, lambda x: x == 42, lambda x: None) assert a.properties[0].value is None -@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", - new=Mock(side_effect=lambda id, name: db.RecordType(id=id,name=name))) + +@patch("caoscrawler.identifiable_adapters._retrieve_RecordType", + new=Mock(side_effect=lambda id, name: db.RecordType(id=id, name=name))) @patch("caoscrawler.identifiable_adapters.cached_query", new=Mock(side_effect=mock_cached_only_rt_allow_empty)) def test_merge_referenced_by():