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)