From 31c5e19752b1f42dbede8658ac416532c723a5d2 Mon Sep 17 00:00:00 2001 From: florian <f.spreckelsen@inidscale.com> Date: Wed, 26 Oct 2022 13:59:29 +0200 Subject: [PATCH] TST: Extend merge-bug test --- unittests/test_apiutils.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/unittests/test_apiutils.py b/unittests/test_apiutils.py index d86b7523..4d15f3b0 100644 --- a/unittests/test_apiutils.py +++ b/unittests/test_apiutils.py @@ -393,6 +393,21 @@ def test_wrong_merge_conflict_reference(): assert rec_a.get_property(license_rt.name) is not None assert rec_a.get_property(license_rt.name).value is not None assert isinstance(rec_a.get_property(license_rt.name).value, db.Record) + assert rec_a.get_property(license_rt.name).value.name == license_rec_a.name + assert rec_a.get_property(license_rt.name).value.name == license_rec_b.name + assert rec_a.get_property("title").value == "Some dataset title" + assert rec_a.get_property("doi").value == "https://doi.org/12345.678" + + # this does not compare referenced records, so it will fail + with pytest.raises(RuntimeError) as re: + merge_entities(rec_a, rec_b, merge_references_with_empty_diffs=False) + assert "Merge conflict" in str(re.value) + + # ... as should this, of course + rec_b.get_property(license_rt.name).value.name = "Another license" + with pytest.raises(RuntimeError) as re: + merge_entities(rec_a, rec_b) + assert "Merge conflict" in str(re.value) def test_empty_diff(): -- GitLab