mirror of
https://github.com/hay-kot/mealie.git
synced 2025-07-06 04:52:25 -07:00
52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
import json
|
|
|
|
from fastapi.testclient import TestClient
|
|
from pytest import fixture
|
|
|
|
from tests.utils import api_routes
|
|
|
|
|
|
@fixture
|
|
def long_live_token(api_client: TestClient, admin_token):
|
|
response = api_client.post(api_routes.users_api_tokens, json={"name": "Test Fixture Token"}, headers=admin_token)
|
|
assert response.status_code == 201
|
|
|
|
return {"Authorization": f"Bearer {json.loads(response.text).get('token')}"}
|
|
|
|
|
|
def test_api_token_creation(api_client: TestClient, admin_token):
|
|
response = api_client.post(api_routes.users_api_tokens, json={"name": "Test API Token"}, headers=admin_token)
|
|
assert response.status_code == 201
|
|
assert response.json()["token"]
|
|
|
|
|
|
def test_api_token_private(api_client: TestClient, admin_token):
|
|
response = api_client.post(api_routes.users_api_tokens, json={"name": "Test API Token"}, headers=admin_token)
|
|
assert response.status_code == 201
|
|
|
|
response = api_client.get(api_routes.admin_users, headers=admin_token, params={"perPage": -1})
|
|
assert response.status_code == 200
|
|
for user in response.json()["items"]:
|
|
for user_token in user["tokens"] or []:
|
|
assert "token" not in user_token
|
|
|
|
response = api_client.get(api_routes.users_self, headers=admin_token)
|
|
assert response.status_code == 200
|
|
response_json = response.json()
|
|
assert response_json["tokens"]
|
|
for user_token in response_json["tokens"]:
|
|
assert "token" not in user_token
|
|
|
|
|
|
def test_use_token(api_client: TestClient, long_live_token):
|
|
response = api_client.get(api_routes.admin_users, headers=long_live_token)
|
|
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_delete_token(api_client: TestClient, admin_token):
|
|
response = api_client.delete(api_routes.users_api_tokens_token_id(1), headers=admin_token)
|
|
assert response.status_code == 200
|
|
|
|
response = api_client.delete(api_routes.users_api_tokens_token_id(2), headers=admin_token)
|
|
assert response.status_code == 200
|