mealie/tests/integration_tests/user_tests/test_user_registration.py
Kuchenpirat 15f79d1586
fix: User creation through API when signups are supposed to be disabled (#2622)
* fix user creation when signups are supposed to be diabled

* add user registration tests

* run formatter

* fix test filename

---------

Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
2023-10-16 18:45:47 +00:00

35 lines
1.4 KiB
Python

import random
import string
from fastapi.testclient import TestClient
from mealie.core.config import get_app_settings
from tests.utils import api_routes
from tests.utils.factories import user_registration_factory
def test_register_user(api_client: TestClient, monkeypatch):
# create random registration
registration = user_registration_factory()
# signup disabled but valid request
monkeypatch.setenv("ALLOW_SIGNUP", "False")
get_app_settings.cache_clear()
response = api_client.post(api_routes.users_register, json=registration.dict(by_alias=True))
assert response.status_code == 403
# signup disabled, request includes non valid group token
registration.group_token = "".join(random.choice(string.ascii_lowercase + string.digits) for _ in range(10)).strip()
response = api_client.post(api_routes.users_register, json=registration.dict(by_alias=True))
assert response.status_code == 400
# signup enabled but contains non valid group token
monkeypatch.setenv("ALLOW_SIGNUP", "True")
get_app_settings.cache_clear()
response = api_client.post(api_routes.users_register, json=registration.dict(by_alias=True))
assert response.status_code == 400
# signup enabled and valid request
registration.group_token = None
response = api_client.post(api_routes.users_register, json=registration.dict(by_alias=True))
assert response.status_code == 201