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

Remove ContainerError again

parent 624e95cf
Branches
Tags
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