Introdução
Em um dos meus artigos anteriores, eu estava falando sobre a opção de usar o Postman para fazer backup de testes de cenários de Integração na Nuvem da SAP, armazenando os casos de teste como solicitações do Postman e utilizando as ferramentas integradas para executar os testes manualmente ou automaticamente. Neste artigo, vamos expandir o cenário integrando também o Newman cli e o Jenkins, que nos ajudarão a incluir os passos de teste necessários em um pipeline de CI/CD.
Os tópicos de SAP DevOps e SAP BTP CI/CD receberam atualizações bastante boas no último período. Eu recomendo fortemente que você consulte o curso da OpenSAP,
Efficient DevOps with SAP,
para obter as últimas atualizações e o roteiro da SAP em termos de SAP DevOps. Mais especificamente sobre o CI/CD para Cloud Integration, siga este ótimo
blog
, por Axel Albrecht.
Não é o propósito deste blog explicar novamente o que é DevOps e quais benefícios um pipeline de CI/CD pode trazer. No entanto, ao mesmo tempo, todos podemos concordar que o teste é uma etapa crucial em qualquer pipeline de CI/CD, e é sobre isso que trata este artigo, uma abordagem sobre como incluir testes em um pipeline do Jenkins que automatizará os cenários de teste.
Ao iniciar com os tópicos de SAP DevOps, existem três principais soluções da SAP:
Serviço CI/CD
,
Projeto "Piper"
e
Guia de Melhores Práticas de CI/CD
. Para o nosso cenário, não estamos começando do zero, o Projeto "Piper" é nosso ponto de partida. Então, combine a documentação da SAP com os detalhes que Axel Albrecht apresenta em seu blog para entender como a solução de CI/CD pode ser uma parceira para a SAP Cloud Integration Suite e depois explore a próxima abordagem de solução sobre como você pode adicionar testes ao seu pipeline.
Resumo da solução
Fig.1 - Arquitetura geral
O diagrama descreve a arquitetura geral da solução, começando pela Integração na Nuvem da SAP onde os fluxos são executados, continuando no componente de microsserviços, responsável pela definição de cenários e geração de casos de teste e, na última etapa, utilizando Jenkins e Newman para automatizar o passo de teste, como parte de um pipeline de CI/CD. Sequencialmente, os principais fluxos de mensagens são:
-
Será enviado uma mensagem de entrada para a Integração na Nuvem da SAP
-
A lógica de transformação / mapeamento / orquestração de mensagens na Integração na Nuvem da SAP será ativada
-
Uma mensagem de saída será ativada a partir da Integração na Nuvem da SAP
-
Chamar as APIs OData da SAP Cloud Integration para extrair os dados de teste de entrada e saída: corpo, cabeçalhos e propriedades
-
Chamar a API do Postman para criar o caso de teste como solicitação do Postman incluindo corpo da solicitação, cabeçalhos, script de pré-solicitação, script de teste
-
Chamar a API do Jenkins para criar um trabalho de pipeline e construir/executar o trabalho
-
O Newman CLI obtém os detalhes da coleção do Postman e executa as solicitações. Os resultados são armazenados como saída de relatório HTML personalizado
Detalhes da solução
Criar casos de teste como solicitações do Postman
Use um microserviço/aplicação específico para chamar as APIs OData da Integração na Nuvem da SAP e construir as solicitações do Postman. Consulte meu artigo anterior sobre como fazer isso.