com.beirtipol:jfixtools-cucumber

Parent project for all JFIXTools modules. Provides standard maven dependency/distribution management.

License

License

Categories

Categories

Cucumber Application Testing & Monitoring
GroupId

GroupId

com.beirtipol
ArtifactId

ArtifactId

jfixtools-cucumber
Last Version

Last Version

1.0-BETA
Release Date

Release Date

Type

Type

jar
Description

Description

Parent project for all JFIXTools modules. Provides standard maven dependency/distribution management.

Download jfixtools-cucumber

How to add to project

<!-- https://jarcasting.com/artifacts/com.beirtipol/jfixtools-cucumber/ -->
<dependency>
    <groupId>com.beirtipol</groupId>
    <artifactId>jfixtools-cucumber</artifactId>
    <version>1.0-BETA</version>
</dependency>
// https://jarcasting.com/artifacts/com.beirtipol/jfixtools-cucumber/
implementation 'com.beirtipol:jfixtools-cucumber:1.0-BETA'
// https://jarcasting.com/artifacts/com.beirtipol/jfixtools-cucumber/
implementation ("com.beirtipol:jfixtools-cucumber:1.0-BETA")
'com.beirtipol:jfixtools-cucumber:jar:1.0-BETA'
<dependency org="com.beirtipol" name="jfixtools-cucumber" rev="1.0-BETA">
  <artifact name="jfixtools-cucumber" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.beirtipol', module='jfixtools-cucumber', version='1.0-BETA')
)
libraryDependencies += "com.beirtipol" % "jfixtools-cucumber" % "1.0-BETA"
[com.beirtipol/jfixtools-cucumber "1.0-BETA"]

Dependencies

compile (6)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter-test jar
org.quickfixj : quickfixj-core jar 2.1.1
org.quickfixj : quickfixj-messages-all jar 2.1.1
io.cucumber : cucumber-java jar 5.3.0
io.cucumber : cucumber-junit jar 5.3.0
org.ini4j : ini4j jar 0.5.4

provided (1)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.18.4

Project Modules

There are no modules declared in this project.

CircleCI Java CI with Maven License: GPL v3

JFIXTools

This set of tools builds on top of

It provides some sample code for Cucumber-based testing of FIX messages and sessions. It also provides Spring Boot 2 enabled services for loading the FIX Repository, FIX Logs (either from File or Database) and a FIX Message parser.

Like most projects, documentation is a work in progress. Here are some screenshots of the included VaadinApplication. You can simply clone and run to view the embedded Database and files with sample fix logs.

While a hosted version of this project would be useful, there are already many standard FIX parsers out there. This project allows people to input their own Dictionaries and FIX Message sources so that they can host the application internally and not worry about sharing live trading information with external websites.

Sample Web Application

The sample application is written using Vaadin, currently without any special stylesheets or fanciness. This serves the purpose of providing a usable application, which is easy to code, and also easy to read for a Java Developer who may not be familiar with Angular/Bootstrap etc. If anyone would care to contribute a slick JavaScript-based UI, I would love to chat!

Screenshots

Repository search page

Repository Search With Embedded Info

Message Parsing

Message Parsing showing Message Type info

Message Parsing with Embedded XML

Message Parsing showing embedded XML

Log viewer (Database and File) with embedded Message view

Logs with embedded Message View

How to configure the sample application

The application.properties present in jfixtools-ui-vaadin demonstrates how to set up a source from both File and Database logs. It is important to note that the 'sessionID' part of the dictionary.mappings and the 'logSources' must contain the same fields or else the dictionary will not be loaded when attempting to parse the text of a fix message.

Performance Testing

Many thanks go to YourKit for providing me with an Open-Source license which has allowed me to nail down some nasty performance issues with the QuickFixJ code-generator as well as fixing my own code!

Yourkit Logo

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor

Licensing?

I'm not precious. It's released under GPL3. Do what you like with it. Copy it, rip it apart, extend it, make it better. I would ask that you let me know if you've done any of that, but you don't have to.

Cheers,

Beirti

Versions

Version
1.0-BETA