This post is about my Pega Community Hackathon project named Mockware. I created this project to solve a problem faced by many Pega project team related to integrations. Below listed are some common issues when building/testing integrations with external systems.
- Running scheduled automation testing without mutating the actual data.
- Missing actual data for satisfying some scenarios where testing needs to be performed
- The actual service is not yet available, but the Pega implementation and testing needs to continue
- Needs to easily replicate a production bug for further analyze in lower environment by mimicking the data to match production scenario.
- Testing the applications for different behaviors when the data is not controlled by the organization something like weather data or stock market data.
- Testing exceptional / error scenarios
- Testing how the application reacts to performance issues from service. (By adding delays to the stub responses)
Mockware addresses all these issues by providing a modern React JS application combined with Wiremock helps anyone to easily create stubs for the integrations in Pega. Mockware contains three main components.
- React JS Front End Application
- Front end applications allows users to manage simulations against selected connector rules. Also provide the view of request / response audit served by simulation for helping debugging.
- Pega Component Application
- The Pega component application provide the REST service to manage the simulations settings from Pega side. The front end React JS application relay on this component to provide the connector meta data and enable / disable simulation on connectors when requested by the front end application
- Wiremock server
- Wiremock server is used as stub server which host and serves the simulations. The front end app will connect to this to manage simualtion and Pega will connect to this server when simulations enabled to server data from this stub server.
Using Mockware in your projects
You are free to use Mockware in your projects, if you are facing any issues with integrations in your project. You can comment if you want to know more about this.