diff --git a/unittests/test_crawler.py b/unittests/test_crawler.py index e026899201ae0dfa937053d315854e5fbb8a351a..88dc32c3e488a15f313ce9a787e928249b3b8f7a 100644 --- a/unittests/test_crawler.py +++ b/unittests/test_crawler.py @@ -405,7 +405,6 @@ def test_split_into_inserts_and_updates_with_copy_attr(crawler_mocked_identifiab crawler.identifiableAdapter.retrieve_identified_record_for_identifiable.assert_called() -@pytest.mark.xfail(reason="https://gitlab.com/linkahead/linkahead-crawler/-/issues/88") @patch("caoscrawler.identifiable_adapters.cached_query", new=Mock(side_effect=mock_cached_only_rt)) def test_split_iiau_with_unmergeable_list_items(): @@ -429,12 +428,16 @@ Identifiables id_A: [prop_ident] id_B: [prop_ident, "is_referenced_by: A"] +id_C: [prop_other, "is_referenced_by: B"] Data ---- -b1: ("same", 23) -b2: ("same", 42) +c1: (23) +c2: (42) + +b1: ("same", c1) +b2: ("same", c2) a: ([b1, b2]) """ @@ -469,18 +472,13 @@ a: ([b1, b2]) crawler = Crawler(identifiableAdapter=ident_adapter) - # This should give a merge conflict, and not - # "Could not find referencing entities of type(s): A" - - # from IPython import embed; embed() with raises(RuntimeError) as rte: crawler.synchronize(commit_changes=False, crawled_data=[rec_a, *rec_b, *rec_c]) assert not isinstance(rte.value, NotImplementedError), \ "Exception must not be NotImplementedError, but plain RuntimeError." - assert "Could not find referencing entities" not in rte.value.args[0] - assert "merging impossible" in rte.something - # crawler.split_into_inserts_and_updates(ent_list=[rec_a, *rec_b, *rec_c]) + assert "Could not find referencing entities" in rte.value.args[0] + assert "merge conflicts in the referencing" in rte.value.args[0] def test_has_missing_object_in_references():