Coverage for src/henrri_connect/exc/__init__.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-06-09 19:37 +0200

1""" 

2Module d'exceptions personnalisées pour la bibliothèque henrri-connect. 

3 

4Exceptions: 

5- HenrriError: Erreur de base pour la bibliothèque henrri-connect. 

6- HenrriHTTPError: Erreur HTTP retournée par l'API Henrri. 

7- HenrriAuthError: Erreur d'authentification (HTTP 401). 

8- HenrriForbiddenError: Accès interdit (HTTP 403). 

9- HenrriNotFoundError: Ressource introuvable (HTTP 404). 

10- HenrriValidationError: Erreur de validation des données (HTTP 400 ou 422). 

11- HenrriServerError: Erreur interne du serveur (HTTP 5xx).""" 

12from __future__ import annotations 

13from typing import Any 

14 

15 

16class HenrriError(Exception): 

17 """ 

18 Erreur de base pour la bibliothèque henrri-connect. 

19 

20 Ces exceptions sont utilisées pour indiquer des erreurs dans la bibliothèque henrri-connect. 

21 """ 

22 

23 

24class HenrriHTTPError(HenrriError): 

25 """ 

26 Erreur HTTP retournée par l'API Henrri. 

27 

28 Ces exceptions sont utilisées pour indiquer des erreurs HTTP retournées par l'API Henrri. 

29 

30 Arguments 

31 - status_code: Code de statut HTTP. 

32 - message: Message d'erreur. 

33 """ 

34 

35 def __init__(self, status_code: int, message: str, body: Any = None) -> None: 

36 self.status_code = status_code 

37 self.body = body 

38 super().__init__(f"HTTP {status_code} : {message}") 

39 

40 

41class HenrriAuthError(HenrriHTTPError): 

42 """ 

43 Erreur d'authentification (HTTP 401). 

44 

45 Ces exceptions sont utilisées pour indiquer des erreurs d'authentification (HTTP 401). 

46 

47 Arguments 

48 - status_code: Code de statut HTTP. 

49 - message: Message d'erreur. 

50 """ 

51 

52 

53class HenrriForbiddenError(HenrriHTTPError): 

54 """ 

55 Accès interdit (HTTP 403). 

56 

57 Ces exceptions sont utilisées pour indiquer des accès interdits (HTTP 403). 

58 

59 Arguments 

60 - status_code: Code de statut HTTP. 

61 - message: Message d'erreur. 

62 """ 

63 

64 

65class HenrriNotFoundError(HenrriHTTPError): 

66 """ 

67 Ressource introuvable (HTTP 404). 

68 

69 Ces exceptions sont utilisées pour indiquer des ressources introuvables (HTTP 404). 

70 

71 Arguments 

72 - status_code: Code de statut HTTP. 

73 - message: Message d'erreur. 

74 """ 

75 

76 

77class HenrriValidationError(HenrriHTTPError): 

78 """ 

79 Erreur de validation des données (HTTP 400 ou 422). 

80 

81 Ces exceptions sont utilisées pour indiquer des erreurs de validation des données 

82 (HTTP 400 ou 422). 

83 

84 Arguments 

85 - status_code: Code de statut HTTP. 

86 - message: Message d'erreur. 

87 """ 

88 

89 

90class HenrriServerError(HenrriHTTPError): 

91 """ 

92 Erreur interne du serveur (HTTP 5xx). 

93 

94 Ces exceptions sont utilisées pour indiquer des erreurs internes du serveur (HTTP 5xx). 

95 

96 Arguments 

97 - status_code: Code de statut HTTP. 

98 - message: Message d'erreur. 

99 """