Coverage for users\services\exceptions.py: 100.0%
40 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-30 20:58 +0200
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-30 20:58 +0200
1"""
2Excepciones de dominio del subsistema de usuarios.
3El servicio las lanza y es el view el que las traduce a su ErrorCode y a su Response
4"""
6# Error de negocio de los usuarios, del que heredan todos los demas
7class UserDomainError(Exception):
8 pass
10# No existe un usuario activo con ese nombre de usuario o correo
11class UserNotFoundError(UserDomainError):
12 pass
14# La contraseña actual aportada no coincide con la que tiene el usuario
15class IncorrectPasswordError(UserDomainError):
16 pass
18# El usuario no tiene ningun viaje proximo que devolver
19class NoUpcomingTravelsError(UserDomainError):
20 pass
22# La solicitud que se quiere valorar no existe o no esta en estado 'validated'
23class RequestTravelNotValidatedError(UserDomainError):
24 pass
27# Falta el estado 'unvalidated' en el catalogo, no se puede cerrar la valoracion
28class RequestStatusMissingError(UserDomainError):
29 pass
31# El vehiculo no tiene asientos suficientes para los viajes activos que ya tiene
32class VehicleSeatsInsufficientError(UserDomainError):
33 pass
35# El vehiculo no se puede borrar porque tiene viajes activos asociados
36class VehicleHasActiveTravelsError(UserDomainError):
37 pass
39# Error de negocio de la autenticacion, del que heredan todos los demas
40class AuthDomainError(Exception):
41 pass
43# El codigo no coincide, o la cuenta no tenia ninguno pendiente
44class InvalidTokenError(AuthDomainError):
45 pass
47# El codigo existia pero ya ha caducado
48class TokenExpiredError(AuthDomainError):
49 pass
51# No se ha podido enviar el correo de verificacion
52class EmailDeliveryError(AuthDomainError):
53 pass
55# Google no ha dado por bueno el id_token
56class InvalidGoogleTokenError(AuthDomainError):
57 pass
59# El payload de Google no trae correo, que es el dato con el que se identifica
60class GoogleEmailMissingError(AuthDomainError):
61 pass
63# El proveedor externo trae correo, pero no lo da por verificado
64class UnverifiedEmailError(AuthDomainError):
65 pass
67# Ya hay una cuenta activa con ese correo
68class EmailAlreadyRegisteredError(AuthDomainError):
69 pass
71# El correo no pertenece a ninguno de los dominios admitidos (ALLOWED_DOMAINS)
72class EmailDomainNotAllowedError(AuthDomainError):
73 pass
75# Ya hay una cuenta activa con ese nombre de usuario
76class UsernameAlreadyTakenError(AuthDomainError):
77 pass
79# El nombre de usuario no cumple el formato admitido
80class InvalidUsernameError(AuthDomainError):
81 pass
83# El codigo de tipo de usuario no existe en el catalogo
84class InvalidUserTypeError(AuthDomainError):
85 pass