Skip to Content
Technical Articles
Author's profile photo Fatih Pense

An Open-Source CPI Mapping Test Tool: Pizug Test

Hello CPI Developers,

I have developed a CPI mapping regression test tool that ticks the right boxes for me and I’m pleased to share it with the community! Let’s see how it can be useful to you.

Table of Contents

  • Overview
  • How to use
  • Advantages & Disadvantages
  • Installation
  • Configuration
  • Conclusion

Overview

It is basically a client program that reads the configuration and test data from regular directories. Then, it executes each case and compares the mapping result with the expected result. Finally, the tool shows the test results and stats.

How to Use

After the configuration, you only have to run a .bat file

Enter your password and wait for the tests to complete:

You can’t store your password in the configuration file. You can only store “environment variable name” for the password. If you want to test it again and again you can set an environment variable for the terminal session and run the Jar without “-p” parameter.

C:\opt\jdk-11\bin\java -jar C:\opt\jars\pizug-cpi-mapping-test.jar -d="."

Advantages & Disadvantages

Things I like about it:

  • Everything is a file:
    • You can open your EDI or XML examples in your favorite editor, whenever you want
    • You can share your test cases in traditional ways
    • You can add related documentation next to the cases
    • You can integrate the data with other tools.
  • You can run it on your computer or in a CI/CD pipeline
  • Anyone else loves Open-source?
  • It should be as fast as your computer

Disadvantages:

  • You have to model your mappings as separate flows
  • You have to hand-craft your test cases
  • It is a terminal-only tool and the documentation leaves a lot to be desired
  • Currently, it only supports mappings with XML outputs

Installation

Go to releases page in Git repository:

https://github.com/pizug/cpi-mapping-test/releases/latest

You should see:

  1. The tool Jar itself
    • You can download any Java version 11 or above(it can be a portable version). Note down the path for the Java executable.
    • Add the Jar in a convenient directory. Note down the path.
  2. CPI Package that contains the simple router flow and an example mapping flow.
    • Import the package and deploy the router flow.
  3. An example test suite data that you can run with the included mapping flow above. It contains the configuration and a batch file (.bat) example.
    • Once you change the batch or configuration Yaml file, you can copy & reuse them.

Configuration

You need to change host and username parameters, then you can test the example mapping flow.

Conclusion

There are many roads to follow from here. The good thing is that we can discuss use cases, features, or possibilities together in the Git repository!

https://github.com/pizug/cpi-mapping-test

Thanks for reading!

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Yogananda Muthaiah
      Yogananda Muthaiah

      Its thinking outside the box! Fatih Pense Really liked it

      Author's profile photo Fatih Pense
      Fatih Pense
      Blog Post Author

      Thank you Yogananda! It is the most understandable and enabling solution I could find for a developer that wants to test mappings right here, right now.

      I have been thinking for a long time and in comparison, coding the first version was relatively easy. However, I think it will improve over time and little details will take more effort 🙂 If you have any ideas to improve it, I'm listening.

      Regards,
      Fatih