def test_user_delete(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) group = create_group( {"group_name": "test"}, permissions=["root_administration", "admin_panel"], sqla_session=session, ) user_a = create_user( {"user_name": "aaaa", "email": "foo"}, sqla_session=session ) user_b = create_user( {"user_name": "bbbb", "email": "foo2"}, sqla_session=session ) group.users.append(user_a) group.users.append(user_b) url_path = "/api/0.1/groups/{}/users".format(group.id) headers = {str("x-testscaffold-auth-token"): str(token)} qs = parse.urlencode({"user_name": user_b.user_name}) assert len(group.users) == 2 full_app.delete("{}?{}".format(url_path, qs), status=200, headers=headers) sqla_session.expire_all() assert group.users[0].id == user_a.id
def test_users_list(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) create_user( {"user_name": "test2", "email": "[email protected]"}, sqla_session=session, ) url_path = "/api/0.1/users" headers = {str("x-testscaffold-auth-token"): str(token)} response = full_app.get(url_path, status=200, headers=headers) items = response.json assert len(items) == 2
def test_users_list(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) create_user({ 'user_name': 'test2', 'email': '[email protected]' }, sqla_session=session) url_path = '/api/0.1/users' headers = {str('x-testscaffold-auth-token'): str(token)} response = full_app.get(url_path, status=200, headers=headers) items = response.json assert len(items) == 2
def test_user_permission_add_proper(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user({ 'user_name': 'aaaa', 'email': 'foo' }, sqla_session=session) resource = create_entry({ 'resource_name': 'entry-x', 'note': 'x' }, sqla_session=session) node_id = resource.resource_id url_path = '/api/0.1/resources/{}/user_permissions'.format(node_id) headers = {str('x-testscaffold-auth-token'): str(token)} perm_name = 'edit' perm_dict = {'user_name': user.user_name, 'perm_name': perm_name} response = full_app.post_json(url_path, perm_dict, status=200, headers=headers) assert response.json['user_id'] == user.id assert response.json['perm_name'] == perm_name assert response.json['resource_id'] == node_id perm_inst = UserResourcePermissionService.get(user.id, resource_id=node_id, perm_name=perm_name, db_session=sqla_session) assert isinstance(perm_inst, UserResourcePermission)
def test_user_permission_remove_proper(self, full_app, sqla_session): perm_name = 'edit' with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user({ 'user_name': 'aaaa', 'email': 'foo' }, sqla_session=session) resource = create_entry({ 'resource_name': 'entry-x', 'note': 'x' }, sqla_session=session) perm_inst = UserResourcePermission(user_id=user.id, perm_name=perm_name) resource.user_permissions.append(perm_inst) node_id = resource.resource_id qs = parse.urlencode({ 'user_name': user.user_name, 'perm_name': perm_name }) url_path = '/api/0.1/resources/{}/user_permissions?{}'.format( node_id, qs) headers = {str('x-testscaffold-auth-token'): str(token)} response = full_app.delete(url_path, status=200, headers=headers) perm_inst = UserResourcePermissionService.get(user.id, resource_id=node_id, perm_name=perm_name, db_session=sqla_session) assert not isinstance(perm_inst, UserResourcePermission)
def test_user_delete(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( {"user_name": "testX", "email": "*****@*****.**"}, sqla_session=session, ) url_path = "/api/0.1/users/{}".format(user.id) headers = {str("x-testscaffold-auth-token"): str(token)} full_app.delete_json(url_path, status=200, headers=headers)
def test_user_add(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) group = create_group({'group_name': 'test'}, sqla_session=session) user_a = create_user({'user_name': 'aaaa', 'email': 'foo'}, sqla_session=session) user_b = create_user({'user_name': 'bbbb', 'email': 'foo2'}, sqla_session=session) url_path = '/api/0.1/groups/{}/users'.format(group.id) headers = {str('x-testscaffold-auth-token'): str(token)} assert not list(group.users) full_app.post_json(url_path, {'user_name': user_a.user_name}, status=200, headers=headers) full_app.post_json(url_path, {'user_name': user_b.user_name}, status=200, headers=headers) sqla_session.expire_all() assert len(group.users) == 2
def test_user_delete(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( { 'user_name': 'testX', 'email': '*****@*****.**' }, sqla_session=session) url_path = '/api/0.1/users/{}'.format(user.id) headers = {str('x-testscaffold-auth-token'): str(token)} full_app.delete_json(url_path, status=200, headers=headers)
def test_permission_delete_not_found(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( {"user_name": "testX", "email": "*****@*****.**"}, sqla_session=session, ) url_path = "/api/0.1/users/{}/permissions".format(user.id) headers = {str("x-testscaffold-auth-token"): str(token)} permission = {"perm_name": "c"} full_app.delete(url_path, permission, status=404, headers=headers)
def test_user_add(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) group = create_group({"group_name": "test"}, sqla_session=session) user_a = create_user( {"user_name": "aaaa", "email": "foo"}, sqla_session=session ) user_b = create_user( {"user_name": "bbbb", "email": "foo2"}, sqla_session=session ) url_path = "/api/0.1/groups/{}/users".format(group.id) headers = {str("x-testscaffold-auth-token"): str(token)} assert not list(group.users) full_app.post_json( url_path, {"user_name": user_a.user_name}, status=200, headers=headers ) full_app.post_json( url_path, {"user_name": user_b.user_name}, status=200, headers=headers ) sqla_session.expire_all() assert len(group.users) == 2
def test_user_delete(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) group = create_group( {'group_name': 'test'}, permissions=['root_administration', 'admin_panel'], sqla_session=session) user_a = create_user({'user_name': 'aaaa', 'email': 'foo'}, sqla_session=session) user_b = create_user({'user_name': 'bbbb', 'email': 'foo2'}, sqla_session=session) group.users.append(user_a) group.users.append(user_b) url_path = '/api/0.1/groups/{}/users'.format(group.id) headers = {str('x-testscaffold-auth-token'): str(token)} qs = parse.urlencode({'user_name': user_b.user_name}) assert len(group.users) == 2 full_app.delete('{}?{}'.format(url_path, qs), status=200, headers=headers) sqla_session.expire_all() assert group.users[0].id == user_a.id
def test_permission_delete_not_found(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( { 'user_name': 'testX', 'email': '*****@*****.**' }, sqla_session=session) url_path = '/api/0.1/users/{}/permissions'.format(user.id) headers = {str('x-testscaffold-auth-token'): str(token)} permission = { 'perm_name': 'c', } full_app.delete(url_path, permission, status=404, headers=headers)
def test_permission_delete(self, full_app, sqla_session): from ziggurat_foundations.models.services.user import UserService with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( {"user_name": "testX", "email": "*****@*****.**"}, permissions=["root_administration", "admin_panel"], sqla_session=session, ) url_path = "/api/0.1/users/{}/permissions".format(user.id) headers = {str("x-testscaffold-auth-token"): str(token)} permission = {"perm_name": "root_administration"} qs = parse.urlencode(permission) full_app.delete("{}?{}".format(url_path, qs), status=200, headers=headers) sqla_session.expire_all() permissions = UserService.permissions(user) assert permissions[0].perm_name == "admin_panel"
def test_user_patch(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( {"user_name": "testX", "email": "*****@*****.**"}, sqla_session=session, ) url_path = "/api/0.1/users/{}".format(user.id) headers = {str("x-testscaffold-auth-token"): str(token)} user_dict = { "id": -9, "user_name": "some-new_userCHANGED", "email": "*****@*****.**", } response = full_app.patch_json(url_path, user_dict, status=200, headers=headers) assert response.json["id"] == user.id assert user_dict["user_name"] == response.json["user_name"] assert user_dict["email"] == response.json["email"]
def test_permission_add(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( { 'user_name': 'testX', 'email': '*****@*****.**' }, sqla_session=session) url_path = '/api/0.1/users/{}/permissions'.format(user.id) headers = {str('x-testscaffold-auth-token'): str(token)} permission = { 'perm_name': 'root_administration', } assert not list(user.permissions) full_app.post_json(url_path, permission, status=200, headers=headers) sqla_session.expire_all() print(user.permissions) assert user.permissions[0].perm_name == 'root_administration'
def test_user_permission_wrong_resource(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user({ 'user_name': 'aaaa', 'email': 'foo' }, sqla_session=session) resource = create_entry({ 'resource_name': 'entry-x', 'note': 'x' }, sqla_session=session) node_id = resource.resource_id url_path = '/api/0.1/resources/{}/user_permissions'.format(-55) headers = {str('x-testscaffold-auth-token'): str(token)} perm_dict = {'user_name': user.user_name, 'perm_name': 'blabla'} response = full_app.post_json(url_path, perm_dict, status=404, headers=headers)
def test_permission_delete(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( { 'user_name': 'testX', 'email': '*****@*****.**' }, permissions=['root_administration', 'admin_panel'], sqla_session=session) url_path = '/api/0.1/users/{}/permissions'.format(user.id) headers = {str('x-testscaffold-auth-token'): str(token)} permission = { 'perm_name': 'root_administration', } qs = parse.urlencode(permission) full_app.delete('{}?{}'.format(url_path, qs), status=200, headers=headers) sqla_session.expire_all() assert user.permissions[0].perm_name == 'admin_panel'
def test_user_permission_remove_wrong(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user({ 'user_name': 'aaaa', 'email': 'foo' }, sqla_session=session) resource = create_entry({ 'resource_name': 'entry-x', 'note': 'x' }, sqla_session=session) node_id = resource.resource_id qs = parse.urlencode({'user_name': -99, 'perm_name': 'BLABLA'}) url_path = '/api/0.1/resources/{}/user_permissions?{}'.format( node_id, qs) headers = {str('x-testscaffold-auth-token'): str(token)} response = full_app.delete(url_path, status=422, headers=headers) assert 'perm_name' in response.json assert 'user_name' in response.json
def test_user_patch(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) user = create_user( { 'user_name': 'testX', 'email': '*****@*****.**' }, sqla_session=session) url_path = '/api/0.1/users/{}'.format(user.id) headers = {str('x-testscaffold-auth-token'): str(token)} user_dict = { 'id': -9, 'user_name': 'some-new_userCHANGED', 'email': '*****@*****.**' } response = full_app.patch_json(url_path, user_dict, status=200, headers=headers) assert response.json['id'] == user.id assert user_dict['user_name'] == response.json['user_name'] assert user_dict['email'] == response.json['email']
def test_users_filtering(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) create_user( {"user_name": "test2", "email": "[email protected]"}, sqla_session=session, ) create_user( {"user_name": "foo", "email": "[email protected]"}, sqla_session=session ) create_user( {"user_name": "barbaz", "email": "[email protected]"}, sqla_session=session, ) url_path = "/api/0.1/users?user_name_like=bar" headers = {str("x-testscaffold-auth-token"): str(token)} response = full_app.get(url_path, status=200, headers=headers) items = response.json assert items[0]["user_name"] == "barbaz"
def test_users_filtering(self, full_app, sqla_session): with session_context(sqla_session) as session: admin, token = create_admin(session) create_user({ 'user_name': 'test2', 'email': '[email protected]' }, sqla_session=session) create_user({ 'user_name': 'foo', 'email': '[email protected]' }, sqla_session=session) create_user({ 'user_name': 'barbaz', 'email': '[email protected]' }, sqla_session=session) url_path = '/api/0.1/users?user_name_like=bar' headers = {str('x-testscaffold-auth-token'): str(token)} response = full_app.get(url_path, status=200, headers=headers) items = response.json assert items[0]['user_name'] == 'barbaz'