TIPCommon.validation

O módulo TIPCommon.validation contém a classe ParameterValidator, uma ferramenta essencial para garantir a integridade dos dados nas integrações. Ele automatiza o processo de verificação de tipos de entrada, aplicação de restrições (como intervalos numéricos ou formatos de e-mail) e fornecimento de valores de substituição seguros para evitar falhas de execução.

A classe ParameterValidator

A classe ParameterValidator fornece uma interface padronizada para validar vários tipos de parâmetros. Cada método aceita um nome e um valor de parâmetro, retornando o valor validado no tipo Python apropriado. Se a validação falhar e nenhum default_value for fornecido, um ParameterValidationError será gerado.

Exemplo de uso

Para usar o validador, inicialize-o com o objeto do 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')

Validação numérica e de limite

Esses métodos garantem que as entradas numéricas estejam dentro dos limites esperados e sejam convertidas corretamente para os tipos apropriados do Python.

Função Parâmetros Descrição e devoluções
validate_float()
  • param_name: (str)
  • value: (str | float)
Retorna: float

Valida se um valor pode ser convertido em um ponto flutuante. Útil para limites ou pontuações de probabilidade.

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

Valida e converte um valor em um número inteiro.

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

Garante que um número inteiro esteja dentro do intervalo inclusivo definido por min_limit e max_limit.

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

Garante que o valor seja um número inteiro entre 0 e 100, incluindo esses dois valores.

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

Garante que o valor seja um número inteiro ≥ 0.

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

Garante que o valor seja um número inteiro e não seja igual a 0.

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

Garante que o valor seja um número inteiro > 0.

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

Garante que o valor seja o limit especificado.

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

Garante que o valor seja o limit especificado.

Estrutura de dados e validação de strings

Esses métodos validam tipos de entrada mais complexos, como strings delimitadas, objetos JSON e formatos específicos, como endereços de e-mail.

Função Parâmetros Descrição e devoluções
validate_csv()
  • csv_string: (str)
  • delimiter: (str) o padrão é ', '.
  • possible_values: (lista) lista de permissões opcional.
Retorna: list

Divide uma string em uma lista usando o delimitador. Se possible_values for fornecido, ele vai validar cada item com base nessa lista.

validate_json()
  • json_string: (str)
  • **kwargs: transmissão direta para json.loads().
Retorna: dict | list

Analisa uma string em um objeto JSON. Gera um erro se a string não for um JSON válido.

validate_email()
  • email: (str)
Retorna: str

Valida se a string fornecida segue um formato de e-mail padrão.

validate_ddl()
  • value: (str)
  • ddl_values: (lista) lista de permissões de valores válidos.
  • case_sensitive: (bool) o padrão é False.
Retorna: str

Valida se a entrada corresponde a um dos valores em uma DDL definida.

validate_severity()
  • severity: (str | int)
  • possible_values: (lista)
Retorna: int

Valida uma entrada de gravidade da plataforma. Mapeia corretamente entre rótulos de gravidade padrão da plataforma (como "Alta") e seus rankings de números inteiros equivalentes.

Configuração de validação global

Todos os métodos de validação na classe ParameterValidator aceitam os seguintes argumentos de palavra-chave opcionais para controlar o comportamento em caso de falha ou para depuração:

  • default_value: se fornecido, esse valor será retornado em vez de gerar um ParameterValidationError quando a validação falhar.

  • print_value: (bool) quando True, o valor inválido que causou a falha é incluído na mensagem de registro. O padrão é True.

  • print_error: (bool) quando True, a mensagem de exceção específica é incluída nos registros da plataforma. O padrão é False.