You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
from flask import Response
|
|
from flask_api import status
|
|
from monsun_backend.container import get_initialize_container
|
|
from utilities import TestUser
|
|
|
|
|
|
def test_login_as_admin_then_get_status_ok(client):
|
|
container = get_initialize_container()
|
|
|
|
response: Response = client().post(
|
|
"/login",
|
|
data={
|
|
"email": container.config.admin_user_email(),
|
|
"password": container.config.admin_user_password(),
|
|
},
|
|
)
|
|
|
|
assert response.status_code == status.HTTP_200_OK
|
|
|
|
|
|
def test_logout_as_not_logged_in_user_then_get_status_found(client):
|
|
response: Response = client().get(
|
|
"/logout",
|
|
)
|
|
assert response.status_code == status.HTTP_302_FOUND
|
|
|
|
|
|
def test_logout_as_admin_then_get_status_found(as_admin: TestUser):
|
|
response: Response = as_admin.client.get(
|
|
"/logout",
|
|
)
|
|
assert response.status_code == status.HTTP_302_FOUND
|
|
|
|
|
|
def test_as_admin_access_admin_endpoint_then_get_status_ok(as_admin: TestUser):
|
|
response: Response = as_admin.client.get(
|
|
"/admin",
|
|
)
|
|
|
|
assert response.status_code == status.HTTP_200_OK
|
|
|
|
|
|
def test_as_not_logged_in_user_access_admin_endpoint_then_get_status_forbidden(
|
|
client,
|
|
): # noqa
|
|
response: Response = client().get(
|
|
"/admin",
|
|
)
|
|
|
|
assert response.status_code == status.HTTP_403_FORBIDDEN
|
|
|