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
« 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.
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
16class HenrriError(Exception):
17 """
18 Erreur de base pour la bibliothèque henrri-connect.
20 Ces exceptions sont utilisées pour indiquer des erreurs dans la bibliothèque henrri-connect.
21 """
24class HenrriHTTPError(HenrriError):
25 """
26 Erreur HTTP retournée par l'API Henrri.
28 Ces exceptions sont utilisées pour indiquer des erreurs HTTP retournées par l'API Henrri.
30 Arguments
31 - status_code: Code de statut HTTP.
32 - message: Message d'erreur.
33 """
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}")
41class HenrriAuthError(HenrriHTTPError):
42 """
43 Erreur d'authentification (HTTP 401).
45 Ces exceptions sont utilisées pour indiquer des erreurs d'authentification (HTTP 401).
47 Arguments
48 - status_code: Code de statut HTTP.
49 - message: Message d'erreur.
50 """
53class HenrriForbiddenError(HenrriHTTPError):
54 """
55 Accès interdit (HTTP 403).
57 Ces exceptions sont utilisées pour indiquer des accès interdits (HTTP 403).
59 Arguments
60 - status_code: Code de statut HTTP.
61 - message: Message d'erreur.
62 """
65class HenrriNotFoundError(HenrriHTTPError):
66 """
67 Ressource introuvable (HTTP 404).
69 Ces exceptions sont utilisées pour indiquer des ressources introuvables (HTTP 404).
71 Arguments
72 - status_code: Code de statut HTTP.
73 - message: Message d'erreur.
74 """
77class HenrriValidationError(HenrriHTTPError):
78 """
79 Erreur de validation des données (HTTP 400 ou 422).
81 Ces exceptions sont utilisées pour indiquer des erreurs de validation des données
82 (HTTP 400 ou 422).
84 Arguments
85 - status_code: Code de statut HTTP.
86 - message: Message d'erreur.
87 """
90class HenrriServerError(HenrriHTTPError):
91 """
92 Erreur interne du serveur (HTTP 5xx).
94 Ces exceptions sont utilisées pour indiquer des erreurs internes du serveur (HTTP 5xx).
96 Arguments
97 - status_code: Code de statut HTTP.
98 - message: Message d'erreur.
99 """