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

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""" 

5 

6# Error de negocio de los usuarios, del que heredan todos los demas 

7class UserDomainError(Exception): 

8 pass 

9 

10# No existe un usuario activo con ese nombre de usuario o correo 

11class UserNotFoundError(UserDomainError): 

12 pass 

13 

14# La contraseña actual aportada no coincide con la que tiene el usuario 

15class IncorrectPasswordError(UserDomainError): 

16 pass 

17 

18# El usuario no tiene ningun viaje proximo que devolver 

19class NoUpcomingTravelsError(UserDomainError): 

20 pass 

21 

22# La solicitud que se quiere valorar no existe o no esta en estado 'validated' 

23class RequestTravelNotValidatedError(UserDomainError): 

24 pass 

25 

26 

27# Falta el estado 'unvalidated' en el catalogo, no se puede cerrar la valoracion 

28class RequestStatusMissingError(UserDomainError): 

29 pass 

30 

31# El vehiculo no tiene asientos suficientes para los viajes activos que ya tiene 

32class VehicleSeatsInsufficientError(UserDomainError): 

33 pass 

34 

35# El vehiculo no se puede borrar porque tiene viajes activos asociados 

36class VehicleHasActiveTravelsError(UserDomainError): 

37 pass 

38 

39# Error de negocio de la autenticacion, del que heredan todos los demas 

40class AuthDomainError(Exception): 

41 pass 

42 

43# El codigo no coincide, o la cuenta no tenia ninguno pendiente 

44class InvalidTokenError(AuthDomainError): 

45 pass 

46 

47# El codigo existia pero ya ha caducado 

48class TokenExpiredError(AuthDomainError): 

49 pass 

50 

51# No se ha podido enviar el correo de verificacion 

52class EmailDeliveryError(AuthDomainError): 

53 pass 

54 

55# Google no ha dado por bueno el id_token 

56class InvalidGoogleTokenError(AuthDomainError): 

57 pass 

58 

59# El payload de Google no trae correo, que es el dato con el que se identifica 

60class GoogleEmailMissingError(AuthDomainError): 

61 pass 

62 

63# El proveedor externo trae correo, pero no lo da por verificado 

64class UnverifiedEmailError(AuthDomainError): 

65 pass 

66 

67# Ya hay una cuenta activa con ese correo 

68class EmailAlreadyRegisteredError(AuthDomainError): 

69 pass 

70 

71# El correo no pertenece a ninguno de los dominios admitidos (ALLOWED_DOMAINS) 

72class EmailDomainNotAllowedError(AuthDomainError): 

73 pass 

74 

75# Ya hay una cuenta activa con ese nombre de usuario 

76class UsernameAlreadyTakenError(AuthDomainError): 

77 pass 

78 

79# El nombre de usuario no cumple el formato admitido 

80class InvalidUsernameError(AuthDomainError): 

81 pass 

82 

83# El codigo de tipo de usuario no existe en el catalogo 

84class InvalidUserTypeError(AuthDomainError): 

85 pass