diff --git a/src/caosdb/common/models.py b/src/caosdb/common/models.py
index 495b4de52a2fa6ac69517aad50d5f1b1605ed873..2916f8af8382b040c877f6baf1f1bd09659e8cc1 100644
--- a/src/caosdb/common/models.py
+++ b/src/caosdb/common/models.py
@@ -38,8 +38,6 @@ from sys import hexversion
 from tempfile import NamedTemporaryFile
 from warnings import warn
 
-from lxml import etree
-
 from caosdb.common.utils import uuid, xml2str
 from caosdb.configuration import get_config
 from caosdb.connection.connection import get_connection
@@ -50,6 +48,7 @@ from caosdb.exceptions import (AmbiguityException, AuthorizationException,
                                EntityHasNoDatatypeError, TransactionError,
                                UniqueNamesError, UnqualifiedParentsError,
                                UnqualifiedPropertiesError, URITooLongException)
+from lxml import etree
 
 _ENTITY_URI_SEGMENT = "Entity"
 
diff --git a/unittests/test_entity.py b/unittests/test_entity.py
index d0f4089c8990a25b1652d332e46a1e3f4d7e4d03..a8f96785f383b8377fa15b5ab064551567726738 100644
--- a/unittests/test_entity.py
+++ b/unittests/test_entity.py
@@ -23,35 +23,45 @@
 #
 """Tests for the Entity class."""
 # pylint: disable=missing-docstring
-from nose.tools import (assert_is_not_none as there, assert_true as tru,
-                        assert_equal as eq)
-from caosdb import Entity, configure_connection
-from caosdb.connection.mockup import MockUpServerConnection
+import unittest
 
+from caosdb import Entity, Property, Record, RecordType, configure_connection
+from caosdb.connection.mockup import MockUpServerConnection
 
-def setup_module():
-    there(Entity)
-    configure_connection(url="unittests", username="testuser",
-                         password="testpassword", timeout=200,
-                         implementation=MockUpServerConnection)
 
+class TestEntity(unittest.TestCase):
+    def setUp(self):
+        self.assertIsNotNone(Entity)
+        configure_connection(url="unittests", username="testuser",
+                             password="testpassword", timeout=200,
+                             implementation=MockUpServerConnection)
 
-def hat(obj, attr):
-    tru(hasattr(obj, attr))
+    def test_instance_variables(self):
+        entity = Entity()
+        self.assertTrue(hasattr(entity, "role"))
+        self.assertTrue(hasattr(entity, "id"))
+        self.assertTrue(hasattr(entity, "name"))
+        self.assertTrue(hasattr(entity, "description"))
+        self.assertTrue(hasattr(entity, "parents"))
+        self.assertTrue(hasattr(entity, "properties"))
 
+    def test_role(self):
+        entity = Entity(role="TestRole")
+        self.assertEqual(entity.role, "TestRole")
+        entity.role = "TestRole2"
+        self.assertEqual(entity.role, "TestRole2")
 
-def test_instance_variables():
-    entity = Entity()
-    hat(entity, "role")
-    hat(entity, "id")
-    hat(entity, "name")
-    hat(entity, "description")
-    hat(entity, "parents")
-    hat(entity, "properties")
+    def test_apply_to_ids(self):
+        parent = RecordType(id=3456)
+        rec = Record(id=23)
+        p = Property(id=23345)
+        rec.add_parent(parent)
+        rec.add_property(p)
 
+        def invert(id_):
+            return id_ * -1
+        rec.apply_to_ids(invert)
 
-def test_role():
-    entity = Entity(role="TestRole")
-    eq(entity.role, "TestRole")
-    entity.role = "TestRole2"
-    eq(entity.role, "TestRole2")
+        self.assertEqual(parent.id, -3456)
+        self.assertEqual(p.id, -23345)
+        self.assertEqual(rec.id, -23)