email lower when setup

This commit is contained in:
hjlarry 2025-12-19 09:27:52 +08:00
parent c12f0d16bb
commit 7faf8f8a48
2 changed files with 45 additions and 1 deletions

View File

@ -84,10 +84,11 @@ class SetupApi(Resource):
raise NotInitValidateError()
args = SetupRequestPayload.model_validate(console_ns.payload)
normalized_email = args.email.lower()
# setup
RegisterService.setup(
email=args.email,
email=normalized_email,
name=args.name,
password=args.password,
ip_address=extract_remote_ip(request),

View File

@ -0,0 +1,43 @@
from types import SimpleNamespace
from unittest.mock import patch
from controllers.console.setup import SetupApi
class TestSetupApi:
def test_post_lowercases_email_before_register(self):
"""Ensure setup registration normalizes email casing."""
payload = {
"email": "Admin@Example.com",
"name": "Admin User",
"password": "ValidPass123!",
"language": "en-US",
}
setup_api = SetupApi(api=None)
mock_console_ns = SimpleNamespace(payload=payload)
with patch("controllers.console.setup.console_ns", mock_console_ns), patch(
"controllers.console.setup.get_setup_status", return_value=False
), patch(
"controllers.console.setup.TenantService.get_tenant_count", return_value=0
), patch(
"controllers.console.setup.get_init_validate_status", return_value=True
), patch(
"controllers.console.setup.extract_remote_ip", return_value="127.0.0.1"
), patch(
"controllers.console.setup.request", object()
), patch(
"controllers.console.setup.RegisterService.setup"
) as mock_register:
response, status = setup_api.post()
assert response == {"result": "success"}
assert status == 201
mock_register.assert_called_once_with(
email="admin@example.com",
name=payload["name"],
password=payload["password"],
ip_address="127.0.0.1",
language=payload["language"],
)