diff --git a/tests/test_administration.py b/tests/test_administration.py
index 6a2d7421cdcdbbfa429ea6c5d26581bdbadefc3b..8347f020031de5c43f303562cbcac5aadaec903d 100644
--- a/tests/test_administration.py
+++ b/tests/test_administration.py
@@ -27,7 +27,6 @@
 """
 
 from caosdb import administration as admin
-from caosdb import get_config
 from caosdb.connection.connection import configure_connection, get_connection
 from caosdb.exceptions import (HTTPClientError, HTTPAuthorizationError,
                                LoginFailedError, ResourceNotFoundError)
diff --git a/tests/test_affiliation.py b/tests/test_affiliation.py
index 2ce28b38ce5fdcb6a972911f6e96e0cec552d7c7..bdd73d117488ceb09210fdcdc0a92ba3b0794c3e 100644
--- a/tests/test_affiliation.py
+++ b/tests/test_affiliation.py
@@ -25,9 +25,9 @@
 
 @author: tf
 """
-import caosdb as db
 import os
-from nose.tools import nottest, assert_true, assert_raises, assert_equal, with_setup, assert_is_not_none  # @UnresolvedImport
+import caosdb as db
+from nose.tools import nottest, assert_true, assert_equal, with_setup, assert_is_not_none
 from pytest import raises
 
 
diff --git a/tests/test_boolean.py b/tests/test_boolean.py
index 37cb5beda4aab071c330d4426a1f768f1c6e1d97..296dfab0be6524461861f58d4e5eb26087463b8f 100644
--- a/tests/test_boolean.py
+++ b/tests/test_boolean.py
@@ -28,7 +28,7 @@
 
 import caosdb as h
 # @UnresolvedImport
-from nose.tools import assert_true, assert_equal, assert_false, assert_raises
+from nose.tools import assert_true, assert_equal, assert_false
 from caosdb.exceptions import TransactionError
 from pytest import raises
 
diff --git a/tests/test_error_stuff.py b/tests/test_error_stuff.py
index 9e7f2127391a79a2228461b3dcf6fd9b08b2abb6..5f32fa8695135f5961b2fff6fefe45e6bf977d14 100644
--- a/tests/test_error_stuff.py
+++ b/tests/test_error_stuff.py
@@ -40,21 +40,16 @@ from caosdb.exceptions import (AmbiguousEntityError,
 import pytest
 
 
-def setup_module():
+def setup():
     try:
         h.execute_query("FIND Test*").delete()
     except:
         pass
 
 
-def setup():
-    """No additional setup required."""
-    setup_module()
-
-
 def teardown():
     """Delete everything."""
-    setup_module()
+    setup()
 
 
 def test_retrieval_no_exception_raised():
diff --git a/tests/test_file.py b/tests/test_file.py
index 51f7fc9953d11faee2ae2fb6ee8fb3d0a8eb72e6..edf45da201bd9c0365d312f3786aeb1104305b94 100644
--- a/tests/test_file.py
+++ b/tests/test_file.py
@@ -34,12 +34,8 @@ from sys import maxsize as maxint
 
 from lxml import etree
 from pytest import raises
-from nose.tools import (assert_equal, assert_false,  # @UnresolvedImport
-                        assert_is_not_none, assert_raises, assert_true,
-                        nottest)
-
-from caosdb import Info
-from caosdb import administration as admin
+from nose.tools import (assert_equal, assert_false, assert_is_not_none,
+                        assert_true)
 from caosdb import execute_query, get_config, get_connection
 from caosdb.common import models
 from caosdb.exceptions import EntityError, TransactionError
diff --git a/tests/test_list.py b/tests/test_list.py
index 1ce17068194bd1e28e901ef600dafb005ff51aad..98a7bb6fae1bb5940c05e4f9d2ce8e1611f5c69a 100644
--- a/tests/test_list.py
+++ b/tests/test_list.py
@@ -29,8 +29,8 @@ import os
 import caosdb as db
 from caosdb.exceptions import (TransactionError,
                                UnqualifiedPropertiesError)
-from nose.tools import nottest, assert_true, assert_raises, assert_equal
-from pytest import mark, raises
+from nose.tools import assert_true, assert_equal
+from pytest import raises
 
 
 def setup():
@@ -664,11 +664,11 @@ def test_list_of_references():
 
 
 def test_list_in_sub_property():
-    rt1 = db.RecordType(name="TestRT1").insert()
-    rt2 = db.RecordType(name="TestRT2").insert()
-    p = db.Property(name="TestProperty", datatype="TestRT1").insert()
-    p2 = db.Property(name="TestBogusProperty", datatype=db.TEXT).insert()
-    rec1 = db.Record(name="TestRT1Rec1").add_parent("TestRT1").insert()
+    db.RecordType(name="TestRT1").insert()
+    db.RecordType(name="TestRT2").insert()
+    db.Property(name="TestProperty", datatype="TestRT1").insert()
+    db.Property(name="TestBogusProperty", datatype=db.TEXT).insert()
+    db.Record(name="TestRT1Rec1").add_parent("TestRT1").insert()
     rec2 = db.Record(name="TestRT2Rec2").add_parent("TestRT2").add_property(
         "TestProperty", "TestRT1Rec1")
     rec2.get_property("TestProperty").add_property("TestBogusProperty",
diff --git a/tests/test_permissions.py b/tests/test_permissions.py
index 0c194e4b02a0ea485e58075a4cb32887014057cb..9b534dc6bd90d5ca26176e2b00fafb240d714439 100644
--- a/tests/test_permissions.py
+++ b/tests/test_permissions.py
@@ -29,13 +29,14 @@
 from __future__ import absolute_import
 
 import caosdb as db
-from nose.tools import (assert_true, assert_equal, assert_raises, assert_false,
-                        assert_is_none, assert_is_not_none, nottest,
-                        with_setup)  # @UnresolvedImport
+from nose.tools import (assert_true,
+                        assert_equal,
+                        assert_raises,
+                        assert_false,
+                        assert_is_none,
+                        assert_is_not_none,
+                        nottest)
 from pytest import raises
-from nose.tools import (assert_equal, assert_false,  # @UnresolvedImport
-                        assert_is_none, assert_is_not_none, assert_raises,
-                        assert_true, nottest, with_setup)
 
 from .test_misc import test_info
 
@@ -160,7 +161,6 @@ def setup():
     test_info()
 
 
-@with_setup(setup, teardown)
 def test_basic_acl_stuff():
     p = db.Property(
         name="TestProperty",
@@ -267,7 +267,6 @@ def test_query():
         db.execute_query("FIND TestExperiment", unique=True)
 
 
-@ with_setup(setup, teardown)
 def test_update_acl():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert_true(p.is_valid())
@@ -369,7 +368,6 @@ def test_update_acl():
     assert te.value.has_error(db.AuthorizationError)
 
 
-@ with_setup(setup, teardown)
 def test_update_name():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert_true(p.is_valid())
@@ -402,7 +400,6 @@ def test_update_name():
     assert p2.name == "TestPropertyNew"
 
 
-@ with_setup(setup, teardown)
 def test_update_desc():
     p = db.Property(
         name="TestProperty",
@@ -436,7 +433,6 @@ def test_update_desc():
     assert p2.description == "DescriptionNew"
 
 
-@ with_setup(setup, teardown)
 def test_update_data_type():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert_true(p.is_valid())
@@ -466,7 +462,6 @@ def test_update_data_type():
     assert p2.datatype == db.INTEGER
 
 
-@ with_setup(setup, teardown)
 def test_update_role():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert_true(p.is_valid())
@@ -494,7 +489,6 @@ def test_update_role():
     assert isinstance(rt2, db.RecordType)
 
 
-@ with_setup(setup, teardown)
 def test_update_move_file():
     upload_file = open("test.dat", "w")
     upload_file.write("hello world\n")
@@ -528,7 +522,6 @@ def test_update_move_file():
     assert f2.path == "/otherpermissiontestfiles/test.dat"
 
 
-@ with_setup(setup, teardown)
 def test_update_add_file():
     upload_file = open("test.dat", "w")
     upload_file.write("test update add file: #here#\n")
@@ -562,7 +555,6 @@ def test_update_add_file():
     assert_equal(f2.path, "/permissiontestfiles/newtest.dat")
 
 
-@ with_setup(setup, teardown)
 def test_update_change_file():
     upload_file = open("test.dat", "w")
     upload_file.write("hello world\n")
@@ -613,7 +605,6 @@ def test_update_change_file():
         download_file) == db.File._get_checksum(upload_file2)
 
 
-@with_setup(setup, teardown)
 def test_update_add_property():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert_true(p.is_valid())
@@ -663,7 +654,6 @@ def test_update_add_property():
     assert rt2.get_property("TestProperty") is not None
 
 
-@with_setup(setup, teardown)
 def test_update_remove_property():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert_true(p.is_valid())
@@ -709,7 +699,6 @@ def test_update_remove_property():
     assert rt2.get_property("TestProperty") is not None
 
 
-@with_setup(setup, teardown)
 def test_update_add_parent():
     rt = db.RecordType(name="TestRecordType").insert()
     assert_true(rt.is_valid())
@@ -759,7 +748,6 @@ def test_update_add_parent():
     assert rt2.get_parent("TestRecordTypePar2") is None
 
 
-@with_setup(setup, teardown)
 def test_update_remove_parent():
     par1 = db.RecordType(name="TestRecordTypePar1").insert()
     assert_true(par1.is_valid())
@@ -803,7 +791,6 @@ def test_update_remove_parent():
     assert rt.get_parent("TestRecordTypePar2") is None
 
 
-@with_setup(setup, teardown)
 def test_update_value():
     p = db.Property(
         name="TestProperty",
@@ -839,7 +826,6 @@ def test_update_value():
     assert p2.value == "NewValue"
 
 
-@with_setup(setup, teardown)
 def test_deletion():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert p.is_valid()
@@ -856,12 +842,12 @@ def test_deletion():
     '''Success'''
     grant_permission(p, "DELETE")
 
+    print(p)
     p.delete()
     assert p.get_messages()[
         0].description == "This entity has been deleted successfully."
 
 
-@with_setup(setup, teardown)
 def test_retrieve_acl():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert p.is_valid()
@@ -900,7 +886,6 @@ def test_retrieve_history():
     assert p.version.username == db.get_config().get("Connection", "username")
 
 
-@with_setup(setup, teardown)
 def test_retrieve_entity():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
 
@@ -918,7 +903,6 @@ def test_retrieve_entity():
     assert te.value.has_error(db.AuthorizationError)
 
 
-@with_setup(setup, teardown)
 def test_retrieve_owner():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert p.is_valid()
@@ -937,7 +921,6 @@ def test_retrieve_owner():
     p.retrieve(flags={"owner": None})
 
 
-@with_setup(setup, teardown)
 def test_download_file():
     upload_file = open("test.dat", "w")
     upload_file.write("hello world\n")
@@ -967,7 +950,6 @@ def test_download_file():
         download_file) == db.File._get_checksum(upload_file)
 
 
-@with_setup(setup, teardown)
 def test_grant_priority_permission():
     p = db.Property(name="TestProperty2", datatype=db.TEXT).insert()
 
@@ -989,7 +971,6 @@ def test_grant_priority_permission():
     p.delete()
 
 
-@with_setup(setup, teardown)
 def test_deny_priority_permission():
     p = db.Property(name="TestProperty1", datatype=db.TEXT).insert()
 
@@ -1016,7 +997,6 @@ def test_deny_priority_permission():
     assert te.value.has_error(db.AuthorizationError)
 
 
-@with_setup(setup, teardown)
 def test_change_priority_permission():
     entity = db.Property(name="TestProperty1", datatype=db.TEXT).insert()
     grant_permission(entity, "*")
@@ -1033,7 +1013,6 @@ def test_change_priority_permission():
     assert te.value.has_error(db.AuthorizationError)
 
 
-@with_setup(setup, teardown)
 def test_permissions_there():
     entity = db.Property(name="TestProperty1", datatype=db.TEXT).insert()
     assert_is_not_none(entity.permissions)
@@ -1044,7 +1023,6 @@ def test_permissions_there():
     assert_true(entity2.is_permitted("RETRIEVE:ACL"))
 
 
-@with_setup(setup, teardown)
 def test_grant_nonsense_permission():
     entity = db.Property(name="TestProperty1", datatype=db.TEXT).insert()
     entity.retrieve_acl()
@@ -1053,7 +1031,6 @@ def test_grant_nonsense_permission():
         entity.update_acl()
 
 
-@with_setup(setup, teardown)
 def test_global_acl_there():
     assert_is_not_none(db.get_global_acl())
     assert_true(isinstance(db.get_global_acl(), db.ACL))
@@ -1063,7 +1040,6 @@ def test_global_acl_there():
     print(db.get_global_acl())
 
 
-@with_setup(setup, teardown)
 def test_use_as_property():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert p.is_valid()
@@ -1086,7 +1062,6 @@ def test_use_as_property():
     assert rt2.is_valid()
 
 
-@with_setup(setup, teardown)
 def test_use_as_data_type():
     dt_name = "TestPersonRecordType"
     dt = db.RecordType(name=dt_name).insert()
@@ -1102,7 +1077,6 @@ def test_use_as_data_type():
     assert cm.value.has_error(db.AuthorizationError)
 
 
-@with_setup(setup, teardown)
 def test_use_as_reference():
 
     p = db.RecordType(name="TestRecordTypeForReference").insert()
@@ -1130,7 +1104,6 @@ def test_use_as_reference():
     assert int(rt2.get_property(p.name).get_errors()[0].code) == 403
 
 
-@with_setup(setup, teardown)
 def test_use_as_parent():
     p = db.Property(name="TestProperty", datatype=db.TEXT).insert()
     assert p.is_valid()
@@ -1157,7 +1130,6 @@ def test_use_as_parent():
     assert p3.is_valid()
 
 
-@with_setup(setup, teardown)
 def test_access_control_job_bug():
     """test_access_control_job_bug.
 
@@ -1174,7 +1146,6 @@ def test_access_control_job_bug():
     set_transaction_permissions_test_role()
 
 
-@with_setup(setup, teardown)
 def test_check_entity_acl_roles():
     '''Test the CheckEntityACLRoles class.
 
diff --git a/tests/test_query_template.py b/tests/test_query_template.py
index f44487ad26f8826cd841d3c36bd1a10e114cf7bd..c5fc3c7858e9b87eff6aca6e6d04a8d3d055b8b3 100644
--- a/tests/test_query_template.py
+++ b/tests/test_query_template.py
@@ -26,7 +26,7 @@
 @author: tf
 """
 import caosdb as db
-from nose.tools import with_setup, assert_true, assert_is_none, assert_equal, assert_is_not_none, nottest, assert_raises  # @UnresolvedImport
+from nose.tools import assert_true, assert_equal, assert_is_not_none
 from pytest import raises
 
 
@@ -90,7 +90,6 @@ def teardown():
         print(e)
 
 
-@with_setup(setup, teardown)
 def test_insertion_success():
     return db.QueryTemplate(
         name="TestQueryTemplate",
@@ -98,7 +97,6 @@ def test_insertion_success():
         query="FIND RECORD Experiment WHICH HAS A animal=Pig").insert()
 
 
-@with_setup(setup, teardown)
 def test_insertion_failure_syntax():
     q = db.QueryTemplate(
         name="TestQueryTemplate",
@@ -111,7 +109,6 @@ def test_insertion_failure_syntax():
             "An error occured during the parsing of this query. Maybe you use a wrong syntax?")
 
 
-@with_setup(setup, teardown)
 def test_insertion_failure_count_query_not_allowed():
     q = db.QueryTemplate(
         name="TestQueryTemplate",
@@ -123,7 +120,6 @@ def test_insertion_failure_count_query_not_allowed():
             "QueryTemplates may not be defined by 'COUNT...' queries for consistency reasons.")
 
 
-@with_setup(setup, teardown)
 def test_insertion_failure_select_query_not_allowed():
     query_def = "SELECT TestAnimal FROM TestExperiment WHICH HAS A TestAnimal = Pig"
     q = db.QueryTemplate(
@@ -136,14 +132,12 @@ def test_insertion_failure_select_query_not_allowed():
             "QueryTemplates may not be defined by 'SELECT... FROM...' queries for consistency reasons.")
 
 
-@with_setup(setup, teardown)
 def test_deletion_success():
     eid = test_insertion_success().id
     q = db.QueryTemplate(id=eid).delete()
     assert_true(q.is_deleted())
 
 
-@with_setup(setup, teardown)
 def test_deletion_failure_non_existing():
     q = db.QueryTemplate(id="12342")
     with raises(db.TransactionError) as cm:
@@ -151,7 +145,6 @@ def test_deletion_failure_non_existing():
     assert cm.value.has_error(db.EntityDoesNotExistError)
 
 
-@with_setup(setup, teardown)
 def test_retrieve_success():
     test_insertion_success()
     q = db.QueryTemplate(name="TestQueryTemplate").retrieve(sync=False)
@@ -160,7 +153,6 @@ def test_retrieve_success():
     assert_equal(q.query, "FIND RECORD Experiment WHICH HAS A animal=Pig")
 
 
-@with_setup(setup, teardown)
 def test_retrieve_failure_non_existing():
     q = db.QueryTemplate(id="12342")
     with raises(db.TransactionError) as cm:
@@ -168,14 +160,12 @@ def test_retrieve_failure_non_existing():
     assert cm.value.has_error(db.EntityDoesNotExistError)
 
 
-@with_setup(setup, teardown)
 def test_update_success():
     q = test_insertion_success()
     q.query = "FIND NewStuff"
     q.update()
 
 
-@with_setup(setup, teardown)
 def test_update_failure_syntax():
     q = test_insertion_success()
     q.query = "ashdjfkasjdf"
@@ -185,7 +175,6 @@ def test_update_failure_syntax():
            "An error occured during the parsing of this query. Maybe you use a wrong syntax?")
 
 
-@with_setup(setup, teardown)
 def test_update_failure_count_query_not_allowed():
     q = test_insertion_success()
     q.query = "COUNT somethingNew"
@@ -195,7 +184,6 @@ def test_update_failure_count_query_not_allowed():
             "QueryTemplates may not be defined by 'COUNT...' queries for consistency reasons.")
 
 
-@with_setup(setup, teardown)
 def test_update_failure_select_query_not_allowed():
     q = test_insertion_success()
     q.query = "SELECT TestAnimal FROM TestExperiment WHICH HAS A TestAnimal = Pig"
@@ -205,7 +193,6 @@ def test_update_failure_select_query_not_allowed():
             "QueryTemplates may not be defined by 'SELECT... FROM...' queries for consistency reasons.")
 
 
-@with_setup(setup, teardown)
 def test_update_failure_non_existing():
     q = db.QueryTemplate(id="12342")
     q.query = "FIND NewStuff"
@@ -214,14 +201,12 @@ def test_update_failure_non_existing():
     assert cm.value.has_error(db.EntityDoesNotExistError)
 
 
-@with_setup(setup, teardown)
 def test_retrieve_as_entity_success():
     q = test_insertion_success()
     e = db.Entity(id=q.id).retrieve()
     assert_equal(e.id, q.id)
 
 
-@with_setup(setup, teardown)
 def test_query_simple_find():
     query_def = "FIND TestExperiment WHICH HAS A TestAnimal = Pig"
     r = db.execute_query(query_def, unique=True)
@@ -245,7 +230,6 @@ def test_query_simple_find():
         "TestRecord")
 
 
-@with_setup(setup, teardown)
 def test_query_with_select_in_outer_query():
     query_def = "FIND TestExperiment WHICH HAS A TestAnimal = Pig"
     r = db.execute_query(query_def, unique=True)
@@ -274,7 +258,6 @@ def test_query_with_select_in_outer_query():
     assert_equal(len(r.get_properties()), 1)
 
 
-@with_setup(setup, teardown)
 def test_query_with_other_filters():
     query_def = "FIND TestExperiment WHICH HAS A TestAnimal"
     db.QueryTemplate(name="TestAnimalExperiment", query=query_def).insert()
@@ -288,7 +271,6 @@ def test_query_with_other_filters():
     assert_equal(r.name, "TestRecord")
 
 
-@with_setup(setup, teardown)
 def test_query_simple_find_with_wildcard():
     query_def = "FIND TestExperiment WHICH HAS A TestAnimal = Pig"
     db.QueryTemplate(name="TestAnimalExperiment", query=query_def).insert()
@@ -302,7 +284,6 @@ def test_query_simple_find_with_wildcard():
     assert_equal(r.name, "TestRecord")
 
 
-@with_setup(setup, teardown)
 def test_query_select_from_with_wildcard():
     query_def = "FIND TestExperiment WHICH HAS A TestAnimal = Pig"
     db.QueryTemplate(name="TestAnimalExperiment", query=query_def).insert()
@@ -313,7 +294,6 @@ def test_query_select_from_with_wildcard():
     assert_equal(len(r.get_entity_by_name("TestAnimal").get_properties()), 0)
 
 
-@with_setup(setup, teardown)
 def test_query_without_permission():
     query_def = "FIND TestExperiment WHICH HAS A TestAnimal = Pig"
     qt = db.QueryTemplate(name="TestPigExperiment", query=query_def).insert()
@@ -346,7 +326,6 @@ def test_query_without_permission():
     assert_equal(len(r), 0)
 
 
-@with_setup(setup, teardown)
 def test_query_with_subquery_referenced_by():
     assert_equal(
         db.execute_query(
diff --git a/tests/test_tickets.py b/tests/test_tickets.py
index e9a80a43e74967ae13ba1165bd08bce4486ae91c..58bbe15dc6b5ec8017a5f839c2d9f79c797424d7 100644
--- a/tests/test_tickets.py
+++ b/tests/test_tickets.py
@@ -27,7 +27,6 @@
 """
 import caosdb as db
 from caosdb.exceptions import (CaosDBException,
-                               EntityDoesNotExistError, EntityError,
                                TransactionError, UniqueNamesError)
 from nose.tools import (assert_equal, assert_false, assert_is_none,
                         assert_is_not_none, assert_raises, assert_true,
@@ -36,13 +35,6 @@ import pytest
 from tests import test_misc
 
 
-def setup_module():
-    try:
-        db.execute_query("FIND ENTITY WITH ID > 100").delete()
-    except Exception as e:
-        print(e)
-
-
 def setup():
     d = db.execute_query("FIND ENTITY WITH ID > 99")
     if len(d) > 0:
diff --git a/tests/test_tickets_200.py b/tests/test_tickets_200.py
index eed1cbd2f91786383de65b0d6da290f476bbd5ed..1084b030bbd0d2c2d24bf72b02e953fe4018d79c 100644
--- a/tests/test_tickets_200.py
+++ b/tests/test_tickets_200.py
@@ -25,13 +25,12 @@
 """
 from __future__ import print_function, unicode_literals
 
-from nose.tools import (assert_equal, assert_is_none,  # @UnresolvedImport
-                        assert_is_not_none, assert_raises, assert_true,
-                        nottest)
+from nose.tools import (assert_equal, assert_is_none, assert_is_not_none,
+                        assert_true)
 from pytest import raises
 
 import caosdb as h
-from caosdb.common.models import Container, Property, RecordType
+from caosdb.common.models import Property, RecordType
 
 
 def setup_module():
diff --git a/tests/test_version.py b/tests/test_version.py
index 401951524bcc0fb997560531b535e81cbb835c23..2b8aafa882832a419fe1b796a703b0b31cb3b766 100644
--- a/tests/test_version.py
+++ b/tests/test_version.py
@@ -22,7 +22,6 @@
 # ** end header
 #
 from pytest import mark, raises
-from dateutil.parser import parse
 import caosdb as c