From bc92027edc1af4f0458ce30d5b83d4c35e6e4f07 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Tue, 31 Aug 2021 12:05:13 +0200 Subject: [PATCH] TST: add test for caosdb-server#171 --- tests/test_parents.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/test_parents.py diff --git a/tests/test_parents.py b/tests/test_parents.py new file mode 100644 index 0000000..19b5894 --- /dev/null +++ b/tests/test_parents.py @@ -0,0 +1,43 @@ +# encoding: utf-8 +# +# This file is a part of the CaosDB Project. +# +# Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com> +# Copyright (C) 2021 IndiScale GmbH <info@indiscale.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +from pytest import raises, mark +import caosdb as db + + +def setup(): + teardown() + + +def teardown(): + d = db.execute_query("FIND Test*") + if len(d) > 0: + d.delete() + + +@mark.xfail(reason="Should raise an error or at least a warning. " + "caosdb-server#171") +def test_parent_name_id_mismatch(): + rt1 = db.RecordType(name="TestRT1").insert() + rt2 = db.RecordType(name="TestRT2").add_parent(id=rt1.id, name=rt1.name + + "_wrong") + with raises(db.TransactionError): + rt2.insert() + print(rt2) -- GitLab