TIPCommon.validation

Le module TIPCommon.validation contient la classe ParameterValidator, un outil essentiel pour garantir l'intégrité des données dans les intégrations. Il automatise le processus de vérification des types d'entrée, d'application des contraintes (telles que les plages numériques ou les formats d'adresse e-mail) et de fourniture de valeurs de secours sécurisées pour éviter les plantages d'exécution.

Classe ParameterValidator

La classe ParameterValidator fournit une interface standardisée pour valider différents types de paramètres. Chaque méthode accepte un nom et une valeur de paramètre, et renvoie la valeur validée dans son type Python approprié. Si la validation échoue et qu'aucun default_value n'est fourni, une ParameterValidationError est générée.

Exemple d'utilisation

Pour utiliser le validateur, initialisez-le avec l'objet SDK siemplify :

from TIPCommon.validation import ParameterValidator

# Initialize the validator
validator = ParameterValidator(siemplify)

# Validate and cast strings to specific types
validated_float = validator.validate_float(param_name='Threshold', value='3.7')
validated_int = validator.validate_integer(param_name='Retry Count', value='5')

Validation numérique et des limites

Ces méthodes garantissent que les entrées numériques se situent dans les limites attendues et sont correctement converties en types Python appropriés.

Fonction Paramètres Description et retours
validate_float()
  • param_name : (str)
  • value : (str | float)
Renvoie float

Valide qu'une valeur peut être convertie en float. Utile pour les seuils ou les scores de probabilité.

validate_integer()
  • param_name : (str)
  • value : (str | int)
Renvoie int

Valide et convertit une valeur en nombre entier.

validate_range()
  • value : (str | int)
  • min_limit : (int)
  • max_limit : (int)
Renvoie int

Garantit qu'un entier se trouve dans la plage inclusive définie par min_limit et max_limit.

validate_percentage()
  • value : (str | int)
Renvoie int

Garantit que la valeur est un entier compris entre 0 et 100 inclus.

validate_non_negative()
  • value : (str | int)
Renvoie int

Garantit que la valeur est un nombre entier ≥ 0.

validate_non_zero()
  • value : (str | int)
Renvoie int

S'assure que la valeur est un nombre entier et n'est pas égale à 0.

validate_positive()
  • value : (str | int)
Renvoie int

Garantit que la valeur est un nombre entier > 0.

validate_lower_limit()
  • value : (str | int)
  • limit : (int)
Renvoie int

Garantit que la valeur correspond à la valeur limit spécifiée.

validate_upper_limit()
  • value : (str | int)
  • limit : (int)
Renvoie int

Garantit que la valeur correspond à la valeur limit spécifiée.

Structure des données et validation des chaînes

Ces méthodes valident des types d'entrée plus complexes, tels que des chaînes délimitées, des objets JSON et des formats spécifiques comme les adresses e-mail.

Fonction Paramètres Description et retours
validate_csv()
  • csv_string : (str)
  • delimiter : (str) la valeur par défaut est ', '.
  • possible_values : (liste) liste d'autorisation facultative.
Renvoie list

Divise une chaîne en une liste à l'aide du délimiteur. Si possible_values est fourni, il valide chaque élément par rapport à cette liste.

validate_json()
  • json_string : (str)
  • **kwargs : transmission pour json.loads().
Renvoie dict | list

Analyse une chaîne en objet JSON. Génère une erreur si la chaîne n'est pas un code JSON valide.

validate_email()
  • email : (str)
Renvoie str

Valide que la chaîne fournie respecte un format d'adresse e-mail standard.

validate_ddl()
  • value : (str)
  • ddl_values : (liste) liste blanche des valeurs valides.
  • case_sensitive : (booléen) la valeur par défaut est False.
Renvoie str

Valide que l'entrée correspond à l'une des valeurs d'une LDD définie.

validate_severity()
  • severity : (str | int)
  • possible_values : (liste)
Renvoie int

Valide une entrée de gravité de plate-forme. Mappe correctement les libellés de gravité standards de la plate-forme (tels que "Élevée") et leurs rangs entiers équivalents.

Configuration de la validation globale

Chaque méthode de validation de la classe ParameterValidator accepte les arguments de mot clé facultatifs suivants pour contrôler le comportement en cas d'échec ou pour le débogage :

  • default_value : si cette valeur est fournie, elle est renvoyée au lieu de générer une ParameterValidationError en cas d'échec de la validation.

  • print_value : (bool) Lorsque la valeur est True, la valeur non valide qui a provoqué l'échec est incluse dans le message du journal. La valeur par défaut est True.

  • print_error : (bool) Lorsque la valeur est True, le message d'exception spécifique est inclus dans les journaux de la plate-forme. La valeur par défaut est False.