O Assert V2 permite que você crie a interrupção da execução do seu pipeline quando uma condição definida não for atendida. Essa condição será avaliada de acordo com itens da mensagem do pipeline, sendo que os Double Braces são utilizados para isso.

Dica: utilize o Assert para garantir uma condição ou interromper o fluxo.

Dê uma olhada nos parâmetros de configuração do componente:

  • Condition: quando essa condição não for verdadeira, a execução do pipeline será interrompida (expressões em Double Braces devem ser utilizadas nesse campo).
  • Error Message: define a mensagem de erro que é retornada pelo pipeline quando a condição não for verdadeira.
  • Internal Error Message: campo onde você define a mensagem de erro interna quando a condição não for verdadeira (é uma mensagem apenas para fins internos).
  • HTTP Status Code: status de retorno do componente.
  • Fail On Error: se ativada, a opção interrompe o fluxo quando a condição resulta “false”; se não ativada e a condição resultar "true", então será retornado um JSON com os erros especificados e o fluxo continua.

Fluxo de Mensagens

Entrada

O componente aceita qualquer mensagem de entrada e pode fazer uso dela através de Double Braces.

Saída

O componente não altera nenhuma informação da mensagem de entrada quando a condição é verdadeira. Portanto, ela é retornada para o componente seguinte ou é utilizada como resposta final se o Assert V2 for o último passo do pipeline.

Quando a condição for falsa e a propriedade Fail On Error for “true”, a saída do componente segue a estrutura padrão:

{
"timestamp": 1587151050249,
"error": "<message declares in the config errorMessage>",
"code": <errorCode>
}

Se Fail On Error for “false”:

{
"error": "<message declares in the config errorMessage>",
"internalErrorMessage": "<message declares in the config internalErrorMessage>",
"code": <errorCode>,
"success": false
}

Conforme visto, você deve utilizar expressões em Double Braces no campo CONDIÇÃO.

Para ler o nosso artigo sobre Double Braces, clique aqui.

Assert V2 em Ação

  • {{ AND( EQUALTO(message.name, "Arthur"), LESSTHAN( message.number, 40)) }}

Recebendo uma mensagem:

{
"name": "Jimmy",
"number": 39
}

A condição resultará “false”.

  • {{ AND( EQUALTO(message.name, "Arthur"), LESSTHAN( message.number, 40)) }}

Recebendo uma mensagem:

{
"name": "Arthur",
"number": 39
}

A condição resultará “true”.

Encontrou sua resposta?