Skip to content
Snippets Groups Projects
Commit 0894e08b authored by florian's avatar florian
Browse files

Remove ContainerError again

parent 624e95cf
No related branches found
No related tags found
No related merge requests found
...@@ -31,13 +31,11 @@ Created on 19.02.2015. ...@@ -31,13 +31,11 @@ Created on 19.02.2015.
""" """
import caosdb as h import caosdb as h
from caosdb.exceptions import (ContainerError, from caosdb.exceptions import (EntityDoesNotExistError, EntityError,
EntityDoesNotExistError,
EntityHasNoDatatypeError, EntityHasNoDatatypeError,
UniqueNamesError, TransactionError, TransactionError, UniqueNamesError,
EntityError, UnqualifiedParentsError,
UnqualifiedPropertiesError, UnqualifiedPropertiesError)
UnqualifiedParentsError)
import pytest import pytest
...@@ -75,11 +73,8 @@ def test_retrieval_exception_raised(): ...@@ -75,11 +73,8 @@ def test_retrieval_exception_raised():
with pytest.raises(TransactionError) as te: with pytest.raises(TransactionError) as te:
h.Property(name="TestNon-ExistentProperty").retrieve(unique=True, h.Property(name="TestNon-ExistentProperty").retrieve(unique=True,
raise_exception_on_error=True) raise_exception_on_error=True)
# retrieve returns a container, so treat that one separately assert len(te.value.get_errors()) == 1
ce = te.value.get_errors()[0] ee = te.value.get_errors()[0]
assert isinstance(ce, ContainerError)
assert len(ce.get_errors()) == 1
ee = ce.get_errors()[0]
# Check for type incl. inheritance # Check for type incl. inheritance
assert isinstance(ee, EntityDoesNotExistError) assert isinstance(ee, EntityDoesNotExistError)
assert isinstance(ee, EntityError) assert isinstance(ee, EntityError)
...@@ -112,9 +107,7 @@ def test_insertion_with_invalid_parents(): ...@@ -112,9 +107,7 @@ def test_insertion_with_invalid_parents():
datatype="Text").add_parent( datatype="Text").add_parent(
id=-1) id=-1)
p.insert(raise_exception_on_error=True) p.insert(raise_exception_on_error=True)
# TransactionError with ContainerError with upe = te.value.get_errors()[0]
# UnqualifiedParentsError
upe = te.value.get_errors()[0].get_errors()[0]
print(upe) print(upe)
assert isinstance(upe, UnqualifiedParentsError) assert isinstance(upe, UnqualifiedParentsError)
assert not upe.get_entity() is None assert not upe.get_entity() is None
...@@ -133,9 +126,7 @@ def test_insertion_with_invalid_properties(): ...@@ -133,9 +126,7 @@ def test_insertion_with_invalid_properties():
datatype="Text").add_property( datatype="Text").add_property(
id=-1) id=-1)
p.insert(raise_exception_on_error=True) p.insert(raise_exception_on_error=True)
# TransactionError with ContainerError with upe = te.value.get_errors()[0]
# UnqualifiedPropertiesError
upe = te.value.get_errors()[0].get_errors()[0]
assert isinstance(upe, UnqualifiedPropertiesError) assert isinstance(upe, UnqualifiedPropertiesError)
assert not upe.get_entity() is None assert not upe.get_entity() is None
assert upe.get_entity().name == p.name assert upe.get_entity().name == p.name
...@@ -183,11 +174,9 @@ def test_entity_does_not_exist(): ...@@ -183,11 +174,9 @@ def test_entity_does_not_exist():
te = te.value te = te.value
assert te.has_error(EntityDoesNotExistError) assert te.has_error(EntityDoesNotExistError)
# Only non-existing entities caused the container error # Only non-existing entities caused the container error
assert not pe.name in [x.name for x in assert not pe.name in [x.name for x in te.get_all_entities()]
te.get_errors()[0].get_all_entities()]
for p in (p1, p2, p3): for p in (p1, p2, p3):
assert p.name in [x.name for x in assert p.name in [x.name for x in te.get_all_entities()]
te.get_errors()[0].get_all_entities()]
def test_insert_existent_entity(): def test_insert_existent_entity():
...@@ -231,7 +220,7 @@ def test_insert_existent_entity(): ...@@ -231,7 +220,7 @@ def test_insert_existent_entity():
c.insert(unique=True) c.insert(unique=True)
te = te.value te = te.value
assert te.has_error(UniqueNamesError) assert te.has_error(UniqueNamesError)
une = te.get_errors()[0].get_errors()[0] une = te.get_errors()[0]
assert not une.get_entity() is None assert not une.get_entity() is None
assert pe.name == une.get_entity().name assert pe.name == une.get_entity().name
for p in (p1, p2, p3): for p in (p1, p2, p3):
...@@ -308,6 +297,6 @@ def test_double_insertion(): ...@@ -308,6 +297,6 @@ def test_double_insertion():
te = te.value te = te.value
assert te.has_error(UniqueNamesError) assert te.has_error(UniqueNamesError)
# c2 caused the ContainerError # c2 caused the ContainerError
assert te.get_errors()[0].get_entity() == c2 assert te.get_container() == c2
# exactly 5 faulty entities in c2 # exactly 5 faulty entities in c2
assert len(te.get_errors()[0].get_entities()) == 5 assert len(te.get_entities()) == 5
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment