Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results forΒ 
Search instead forΒ 
Did you mean:Β 
former_member184876
Active Participant

Introduction:


In implementation projects, sometimes we see testing integrations is not given as much focus and effort as it deserve. This some times is true for production integrations as well where changes are moved to production by testing few handful of scenarios, but not all possible scenarios like negative scenarios, regression testing, edge case scenarios, and volume testing. Being a fan of SAP integration suite, I wanted to write a blog series as I work through to build an extension application that automates the testing of integrations for us. This helps us to move our integration changes more frequently with more confidence that our integrations will not break with the changes we incorporate. If you are interested and want to be part of the journey, grab a coffee and read along. I hope this will be fun πŸ™‚

Coming to technical details, this extension application will be built using GO programming language because I like GO. Just kidding :). GO is a simple programming language very well suited for building applications on cloud because of its simplicity in handling complex topics like concurrency. If you did not work on Go before, do not worry. Just follow the blog and check the code in repository. I am sure it will be self explanatory with some help from Google. For persistence, We use HANA for structured data and Azure blob storage for unstructured data like files. Application will be deployed on SAP BTP Kyma runtime. Like the approach? Yeah. All goodies. What not to like right!! πŸ™‚

I like CAP and its simplicity, but in this application we will not use CAP and do it on our own. Some times it is good to DIY (do it yourself). Moreover CAP does not support GO yet.

 

In this blog we will start small by writing a Hello World application first and deploy it to Kyma.

 







Previous blogs Link
















Part1 – Integration suite extension – Introduction Part1
Part0.1 – Integration suite extension – Message Monitor Overview Part0.1
Part0.2 – Integration suite extension – Enhanced user defined message search Part0.2

 

Architecture Diagram:


 


 

STEP 1 - Create the GO application by cloning the repository
git clone https://github.com/ravipativenu/integration-suite-extention.git

 

STEP 2 - Install and run the application locally
go install ravipativenu/integration-suite-extension 
integration-suite-extension

 

STEP 3 - Test the application running locally
http://localhost:8080/api/hello

you will see the "Hello World!" output


 

STEP 4 - Run application unit tests

  • A unit test is written to test /hello endpoint. Run unit tests and make sure they are successful.


go test

 

STEP 5 - Create Dockerfile for Docker image

This file already exists in the repo

 

STEP 6 - Build docker image
docker build -t ravipativenu/integration-suite-extention:latest -f Dockerfile .

 

STEP 7 - Publish docker image to Docker hub
docker push ravipativenu/integration-suite-extention:latest

 

STEP 8 - Update your Kyma runtime parameters

  • Download kyma runtime parameters from Kyma console and update local kyma config C:\Users\<user>\.kube



 


 

STEP 9 - Deploy to Kyma

  • Create credentials for docker access from Kyma


kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v2/ --docker-username=<username>--docker-password=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX --docker-email=<emailid>


  • deployment.yaml is descriptor file to deploy to Kyma

  • Deploy to Kyma


kubectl replace --force -f deployment.yaml -n default

 

STEP 10 - Test application deployed on Kyma

 


 

 

 

Next we will include persistence and start building our application further.

 
2 Comments
Labels in this area