191 lines
6.8 KiB
Python
191 lines
6.8 KiB
Python
"""Test_user_blueprint."""
|
|
# TODO: fix these tests for new authing system
|
|
# """Test User Blueprint."""
|
|
# import json
|
|
# from typing import Any
|
|
#
|
|
# from flask.testing import FlaskClient
|
|
#
|
|
# from spiffworkflow_backend.models.group import GroupModel
|
|
# from spiffworkflow_backend.models.user import UserModel
|
|
#
|
|
#
|
|
# def test_acceptance(client: FlaskClient) -> None:
|
|
# """Test_acceptance."""
|
|
# # Create a user U
|
|
# user = create_user(client, "U")
|
|
# # Create a group G
|
|
# group_g = create_group(client, "G")
|
|
# # Assign user U to group G
|
|
# assign_user_to_group(client, user, group_g)
|
|
# # Delete group G
|
|
# delete_group(client, group_g.name)
|
|
# # Create group H
|
|
# group_h = create_group(client, "H")
|
|
# # Assign user U to group H
|
|
# assign_user_to_group(client, user, group_h)
|
|
# # Unassign user U from group H
|
|
# remove_user_from_group(client, user, group_h)
|
|
# # Delete group H
|
|
# delete_group(client, group_h.name)
|
|
# # Delete user U
|
|
# delete_user(client, user.username)
|
|
#
|
|
#
|
|
# def test_user_can_be_created_and_deleted(client: FlaskClient) -> None:
|
|
# """Test_user_can_be_created_and_deleted."""
|
|
# username = "joe"
|
|
# response = client.get(f"/user/{username}")
|
|
# assert response.status_code == 201
|
|
# user = UserModel.query.filter_by(username=username).first()
|
|
# assert user.username == username
|
|
#
|
|
# response = client.delete(f"/user/{username}")
|
|
# assert response.status_code == 204
|
|
# user = UserModel.query.filter_by(username=username).first()
|
|
# assert user is None
|
|
#
|
|
#
|
|
# def test_delete_returns_an_error_if_user_is_not_found(client: FlaskClient) -> None:
|
|
# """Test_delete_returns_an_error_if_user_is_not_found."""
|
|
# username = "joe"
|
|
# response = client.delete(f"/user/{username}")
|
|
# assert response.status_code == 400
|
|
#
|
|
#
|
|
# def test_create_returns_an_error_if_user_exists(client: FlaskClient) -> None:
|
|
# """Test_create_returns_an_error_if_user_exists."""
|
|
# username = "joe"
|
|
# response = client.get(f"/user/{username}")
|
|
# assert response.status_code == 201
|
|
# user = UserModel.query.filter_by(username=username).first()
|
|
# assert user.username == username
|
|
#
|
|
# response = client.get(f"/user/{username}")
|
|
# assert response.status_code == 409
|
|
#
|
|
# response = client.delete(f"/user/{username}")
|
|
# assert response.status_code == 204
|
|
# user = UserModel.query.filter_by(username=username).first()
|
|
# assert user is None
|
|
#
|
|
#
|
|
# def test_group_can_be_created_and_deleted(client: FlaskClient) -> None:
|
|
# """Test_group_can_be_created_and_deleted."""
|
|
# group_name = "administrators"
|
|
# response = client.get(f"/group/{group_name}")
|
|
# assert response.status_code == 201
|
|
# group = GroupModel.query.filter_by(name=group_name).first()
|
|
# assert group.name == group_name
|
|
#
|
|
# response = client.delete(f"/group/{group_name}")
|
|
# assert response.status_code == 204
|
|
# group = GroupModel.query.filter_by(name=group_name).first()
|
|
# assert group is None
|
|
#
|
|
#
|
|
# def test_delete_returns_an_error_if_group_is_not_found(client: FlaskClient) -> None:
|
|
# """Test_delete_returns_an_error_if_group_is_not_found."""
|
|
# group_name = "administrators"
|
|
# response = client.delete(f"/group/{group_name}")
|
|
# assert response.status_code == 400
|
|
#
|
|
#
|
|
# def test_create_returns_an_error_if_group_exists(client: FlaskClient) -> None:
|
|
# """Test_create_returns_an_error_if_group_exists."""
|
|
# group_name = "administrators"
|
|
# response = client.get(f"/group/{group_name}")
|
|
# assert response.status_code == 201
|
|
# group = GroupModel.query.filter_by(name=group_name).first()
|
|
# assert group.name == group_name
|
|
#
|
|
# response = client.get(f"/group/{group_name}")
|
|
# assert response.status_code == 409
|
|
#
|
|
# response = client.delete(f"/group/{group_name}")
|
|
# assert response.status_code == 204
|
|
# group = GroupModel.query.filter_by(name=group_name).first()
|
|
# assert group is None
|
|
#
|
|
#
|
|
# def test_user_can_be_assigned_to_a_group(client: FlaskClient) -> None:
|
|
# """Test_user_can_be_assigned_to_a_group."""
|
|
# user = create_user(client, "joe")
|
|
# group = create_group(client, "administrators")
|
|
# assign_user_to_group(client, user, group)
|
|
# delete_user(client, user.username)
|
|
# delete_group(client, group.name)
|
|
#
|
|
#
|
|
# def test_user_can_be_removed_from_a_group(client: FlaskClient) -> None:
|
|
# """Test_user_can_be_removed_from_a_group."""
|
|
# user = create_user(client, "joe")
|
|
# group = create_group(client, "administrators")
|
|
# assign_user_to_group(client, user, group)
|
|
# remove_user_from_group(client, user, group)
|
|
# delete_user(client, user.username)
|
|
# delete_group(client, group.name)
|
|
#
|
|
#
|
|
# def create_user(client: FlaskClient, username: str) -> Any:
|
|
# """Create_user."""
|
|
# response = client.get(f"/user/{username}")
|
|
# assert response.status_code == 201
|
|
# user = UserModel.query.filter_by(username=username).first()
|
|
# assert user.username == username
|
|
# return user
|
|
#
|
|
#
|
|
# def delete_user(client: FlaskClient, username: str) -> None:
|
|
# """Delete_user."""
|
|
# response = client.delete(f"/user/{username}")
|
|
# assert response.status_code == 204
|
|
# user = UserModel.query.filter_by(username=username).first()
|
|
# assert user is None
|
|
#
|
|
#
|
|
# def create_group(client: FlaskClient, group_name: str) -> Any:
|
|
# """Create_group."""
|
|
# response = client.get(f"/group/{group_name}")
|
|
# assert response.status_code == 201
|
|
# group = GroupModel.query.filter_by(name=group_name).first()
|
|
# assert group.name == group_name
|
|
# return group
|
|
#
|
|
#
|
|
# def delete_group(client: FlaskClient, group_name: str) -> None:
|
|
# """Delete_group."""
|
|
# response = client.delete(f"/group/{group_name}")
|
|
# assert response.status_code == 204
|
|
# group = GroupModel.query.filter_by(name=group_name).first()
|
|
# assert group is None
|
|
#
|
|
#
|
|
# def assign_user_to_group(
|
|
# client: FlaskClient, user: UserModel, group: GroupModel
|
|
# ) -> None:
|
|
# """Assign_user_to_group."""
|
|
# response = client.post(
|
|
# "/assign_user_to_group",
|
|
# content_type="application/json",
|
|
# data=json.dumps({"user_id": user.id, "group_id": group.id}),
|
|
# )
|
|
# assert response.status_code == 201
|
|
# user = UserModel.query.filter_by(id=user.id).first()
|
|
# assert len(user.user_group_assignments) == 1
|
|
# assert user.user_group_assignments[0].group_id == group.id
|
|
#
|
|
#
|
|
# def remove_user_from_group(
|
|
# client: FlaskClient, user: UserModel, group: GroupModel
|
|
# ) -> None:
|
|
# """Remove_user_from_group."""
|
|
# response = client.post(
|
|
# "remove_user_from_group",
|
|
# content_type="application/json",
|
|
# data=json.dumps({"user_id": user.id, "group_id": group.id}),
|
|
# )
|
|
# assert response.status_code == 204
|
|
# user = UserModel.query.filter_by(id=user.id).first()
|
|
# assert len(user.user_group_assignments) == 0
|