diff --git a/tests/test_administration.py b/tests/test_administration.py index 50aa906d00bf13f13d5a5569a8042013e65138e0..0d4f4901c084474c0d703f2100f8ca16a0b1ea45 100644 --- a/tests/test_administration.py +++ b/tests/test_administration.py @@ -28,9 +28,12 @@ from caosdb import (administration as admin, get_config) from nose.tools import assert_true, assert_equal, assert_is_not_none, with_setup, assert_raises -from caosdb.exceptions import (ClientErrorException, TransactionError, - AuthorizationException, LoginFailedException) +from caosdb.exceptions import (ClientErrorException, + HTTPAuthorizationException, + LoginFailedException, + ResourceNotFoundException) from caosdb.connection.connection import get_connection, configure_connection +from pytest import raises test_role = "test_role" test_user = "test_user" @@ -104,11 +107,9 @@ def test_insert_role_success(): @with_setup(setup, teardown) def test_insert_role_failure_permission(): switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._insert_role(name=test_role, description=test_role_desc) - assert_equal( - cm.exception.msg, - "You are not permitted to insert a new role.") + assert cm.value.msg == "You are not permitted to insert a new role." @with_setup(setup, teardown) @@ -135,18 +136,16 @@ def test_update_role_success(): def test_update_role_failure_permissions(): test_insert_role_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._update_role(name=test_role, description=test_role_desc + "asdf") - assert_equal( - cm.exception.msg, - "You are not permitted to update this role.") + assert cm.value.msg == "You are not permitted to update this role." @with_setup(setup, teardown) def test_update_role_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._update_role(name=test_role, description=test_role_desc + "asdf") - assert_equal(cm.exception.msg, "Role does not exist.") + assert cm.value.msg == "Role does not exist." @with_setup(setup, teardown) @@ -159,18 +158,16 @@ def test_delete_role_success(): def test_delete_role_failure_permissions(): test_insert_role_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._delete_role(name=test_role) - assert_equal( - cm.exception.msg, - "You are not permitted to delete this role.") + assert cm.value.msg == "You are not permitted to delete this role." @with_setup(setup, teardown) def test_delete_role_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._delete_role(name=test_role) - assert_equal(cm.exception.msg, "Role does not exist.") + assert cm.value.msg == "Role does not exist." @with_setup(setup, teardown) @@ -184,18 +181,16 @@ def test_retrieve_role_success(): def test_retrieve_role_failure_permission(): test_insert_role_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._retrieve_role(name=test_role) - assert_equal( - cm.exception.msg, - "You are not permitted to retrieve this role.") + assert cm.value.msg == "You are not permitted to retrieve this role." @with_setup(setup, teardown) def test_retrieve_role_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._retrieve_role(name=test_role) - assert_equal(cm.exception.msg, "Role does not exist.") + assert cm.value.msg == "Role does not exist." @with_setup(setup, teardown) @@ -214,24 +209,22 @@ def test_set_permissions_success(): def test_set_permissions_failure_permissions(): test_insert_role_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._set_permissions( role=test_role, permission_rules=[ admin.PermissionRule( "Grant", "BLA:BLA:BLA")]) - assert_equal( - cm.exception.msg, - "You are not permitted to set this role's permissions.") + assert cm.value.msg == "You are not permitted to set this role's permissions." @with_setup(setup, teardown) def test_set_permissions_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._set_permissions( role=test_role, permission_rules=[ admin.PermissionRule( "Grant", "BLA:BLA:BLA")]) - assert_equal(cm.exception.msg, "Role does not exist.") + assert cm.value.msg == "Role does not exist." @with_setup(setup, teardown) @@ -246,18 +239,16 @@ def test_get_permissions_success(): def test_get_permissions_failure_permissions(): test_set_permissions_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._get_permissions(role=test_role) - assert_equal( - cm.exception.msg, - "You are not permitted to retrieve this role's permissions.") + assert cm.value.msg == "You are not permitted to retrieve this role's permissions." @with_setup(setup, teardown) def test_get_permissions_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._get_permissions(role="non-existing-role") - assert_equal(cm.exception.msg, "Role does not exist.") + assert cm.value.msg == "Role does not exist." @with_setup(setup, teardown) @@ -272,18 +263,16 @@ def test_get_roles_success(): def test_get_roles_failure_permissions(): test_insert_role_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._get_roles(username=test_user) - assert_equal( - cm.exception.msg, - "You are not permitted to retrieve this user's roles.") + assert cm.value.msg == "You are not permitted to retrieve this user's roles." @with_setup(setup, teardown) def test_get_roles_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._get_roles(username="non-existing-user") - assert_equal(cm.exception.msg, "User does not exist.") + assert cm.value.msg == "User does not exist." @with_setup(setup, teardown) @@ -311,11 +300,9 @@ def test_set_roles_failure_permissions(): roles = {test_role} roles.union(roles_old) switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._set_roles(username=test_user, roles=roles_old) - assert_equal( - cm.exception.msg, - "You are not permitted to set this user's roles.") + assert cm.value.msg == "You are not permitted to set this user's roles." def test_set_roles_failure_non_existing_role(): @@ -328,9 +315,9 @@ def test_set_roles_failure_non_existing_role(): def test_set_roles_failure_non_existing_user(): test_insert_role_success() roles = {test_role} - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._set_roles(username="non-existing-user", roles=roles) - assert_equal(cm.exception.msg, "User does not exist.") + assert cm.value.msg == "User does not exist." @with_setup(setup, teardown) @@ -346,16 +333,14 @@ def test_insert_user_success(): @with_setup(setup, teardown) def test_insert_user_failure_permissions(): switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._insert_user( name=test_user, password="secret1P!", status="ACTIVE", email="email@example.com", entity=None) - assert_equal( - cm.exception.msg, - "You are not permitted to insert a new user.") + assert cm.value.msg == "You are not permitted to insert a new user." @with_setup(setup, teardown) @@ -376,18 +361,16 @@ def test_delete_user_success(): def test_delete_user_failure_permissions(): test_insert_user_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._delete_user(name="non_existing_user") - assert_equal( - cm.exception.msg, - "You are not permitted to delete this user.") + assert cm.value.msg == "You are not permitted to delete this user." @with_setup(setup, teardown) def test_delete_user_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._delete_user(name="non_existing_user") - assert_equal(cm.exception.msg, "User does not exist.") + assert cm.value.msg == "User does not exist." @with_setup(setup, teardown) @@ -459,15 +442,12 @@ def test_update_user_success_password(): @with_setup(setup, teardown) def test_update_user_failure_permissions_status(): - assert_is_not_none( - admin._insert_user( - name=test_user + "2", - password="secret1P!", - status="INACTIVE", - email="email@example.com", - entity=None)) + assert admin._insert_user(name=test_user + "2", + password="secret1P!", + status="INACTIVE", + email="email@example.com", entity=None) is not None switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._update_user( realm=None, name=test_user + "2", @@ -475,22 +455,16 @@ def test_update_user_failure_permissions_status(): status="ACTIVE", email=None, entity=None) - assert_equal( - cm.exception.msg, - "You are not permitted to update this user.") + assert cm.value.msg == "You are not permitted to update this user." @with_setup(setup, teardown) def test_update_user_failure_permissions_email(): - assert_is_not_none( - admin._insert_user( - name=test_user + "2", - password="secret1P!", - status="ACTIVE", - email="email@example.com", - entity=None)) + assert admin._insert_user(name=test_user + "2", + password="secret1P!", status="ACTIVE", + email="email@example.com", entity=None) is not None switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._update_user( realm=None, name=test_user + "2", @@ -498,22 +472,16 @@ def test_update_user_failure_permissions_email(): status=None, email="newemail@example.com", entity=None) - assert_equal( - cm.exception.msg, - "You are not permitted to update this user.") + assert cm.value.msg == "You are not permitted to update this user." @with_setup(setup, teardown) def test_update_user_failure_permissions_entity(): - assert_is_not_none( - admin._insert_user( - name=test_user + "2", - password="secret1P!", - status="ACTIVE", - email="email@example.com", - entity=None)) + assert admin._insert_user(name=test_user + "2", + password="secret1P!", status="ACTIVE", + email="email@example.com", entity=None) is not None switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._update_user( realm=None, name=test_user + "2", @@ -521,22 +489,16 @@ def test_update_user_failure_permissions_entity(): status=None, email=None, entity=21) - assert_equal( - cm.exception.msg, - "You are not permitted to update this user.") + assert cm.value.msg == "You are not permitted to update this user." @with_setup(setup, teardown) def test_update_user_failure_permissions_password(): - assert_is_not_none( - admin._insert_user( - name=test_user + "2", - password="secret1P!", - status="ACTIVE", - email="email@example.com", - entity=None)) + assert admin._insert_user(name=test_user + "2", + password="secret1P!", status="ACTIVE", + email="email@example.com", entity=None) is not None switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._update_user( realm=None, name=test_user + "2", @@ -544,14 +506,12 @@ def test_update_user_failure_permissions_password(): status=None, email=None, entity=None) - assert_equal( - cm.exception.msg, - "You are not permitted to update this user.") + assert cm.value.msg == "You are not permitted to update this user." @with_setup(setup, teardown) def test_update_user_failure_non_existing_user(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._update_user( realm=None, name="non-existing-user", @@ -559,19 +519,15 @@ def test_update_user_failure_non_existing_user(): status="ACTIVE", email="email@example.com", entity=None) - assert_equal(cm.exception.msg, "User does not exist.") + assert cm.value.msg == "User does not exist." @with_setup(setup, teardown) def test_update_user_failure_non_existing_entity(): - assert_is_not_none( - admin._insert_user( - name=test_user + "2", - password="secret1P!", - status="ACTIVE", - email="email@example.com", - entity=None)) - with assert_raises(ClientErrorException) as cm: + assert admin._insert_user(name=test_user + "2", + password="secret1P!", status="ACTIVE", + email="email@example.com", entity=None) is not None + with raises(ClientErrorException) as cm: admin._update_user( realm=None, name=test_user + "2", @@ -579,7 +535,7 @@ def test_update_user_failure_non_existing_entity(): status=None, email=None, entity=100000) - assert_equal(cm.exception.msg, "Entity does not exist.") + assert cm.value.msg == "Entity does not exist." @with_setup(setup, teardown) @@ -592,18 +548,16 @@ def test_retrieve_user_success(): def test_retrieve_user_failure_permissions(): test_insert_user_success() switch_to_normal_user() - with assert_raises(AuthorizationException) as cm: + with raises(HTTPAuthorizationException) as cm: admin._retrieve_user(realm=None, name=test_user + "2") - assert_equal( - cm.exception.msg, - "You are not permitted to retrieve this user.") + assert cm.value.msg == "You are not permitted to retrieve this user." @with_setup(setup, teardown) def test_retrieve_user_failure_non_existing(): - with assert_raises(TransactionError) as cm: + with raises(ResourceNotFoundException) as cm: admin._retrieve_user(realm=None, name="non_existing") - assert_equal(cm.exception.msg, "User does not exist.") + assert cm.value.msg == "User does not exist." @with_setup(setup, teardown) diff --git a/tests/test_boolean.py b/tests/test_boolean.py index 60ad1cbd80d34a6892fcdd3304e0b401840a02e2..37cb5beda4aab071c330d4426a1f768f1c6e1d97 100644 --- a/tests/test_boolean.py +++ b/tests/test_boolean.py @@ -29,7 +29,8 @@ import caosdb as h # @UnresolvedImport from nose.tools import assert_true, assert_equal, assert_false, assert_raises -from caosdb.exceptions import EntityError +from caosdb.exceptions import TransactionError +from pytest import raises def test_property(): @@ -126,7 +127,8 @@ def test_record(): rec3 = h.Record( name="SimpleRecord3").add_parent(rt).add_property( p.name, value="BLABLA") - assert_raises(EntityError, rec3.insert) + with raises(TransactionError): + rec3.insert() assert_false(rec3.is_valid()) assert_equal( diff --git a/tests/test_datatype_inheritance.py b/tests/test_datatype_inheritance.py index eba41766c8a989c6abefe335ab488ccdbea716f6..292576f132c844502813cd848aebdfc7c1f161c9 100644 --- a/tests/test_datatype_inheritance.py +++ b/tests/test_datatype_inheritance.py @@ -28,7 +28,8 @@ from caosdb.connection.connection import get_connection # @UnresolvedImport from nose.tools import assert_is_not_none, assert_true, assert_equal, with_setup -from caosdb.exceptions import EntityError +from caosdb.exceptions import TransactionError +from pytest import raises def setup(): @@ -150,12 +151,11 @@ def test_datatype_overriding_update(): str("TEXT").lower(), rt.get_properties()[0].datatype.lower()) - try: + with raises(TransactionError) as te: p.datatype = "INT" p.update() - raise AssertionError("This should raise an EntityError!") - except EntityError as e: - assert_equal("Unknown datatype.", e.msg) + + assert "Unknown datatype." == te.value.get_errors()[0].msg p.datatype = "INTEGER" p.update()