Skip to content

Mastercard/flow

Repository files navigation

Quality Gate Status Lines of Code Coverage Maven Central

flow

Testing framework

  • api Core type declarations
  • message Implementations of the Message interface
  • builder Implementations of the Flow and Interaction interfaces
  • model Implementations of the Model interface
  • validation Checking model consistency
  • assert Comparing models against systems
  • report Visualising assertion results
  • aggregator Aggregates build artifacts
  • example Service constellation to exercise the flow framework
  • doc Documentation resources

Overview

This project provides a framework in which the flow of data in a system can be modelled. This model can then be used to drive testing, both of the complete system and of subsystems in isolation. These tests produce a rich execution report, for example.

This document describes the motivations for this approach.

Usage

  • Quickstart guide: Illustrates the construction of a simple system model and its usage.
  • Further reading: Covers more advanced usage.
  • The submodules under example illustrate a complete service constellation with flow-based testing
Artifact dependency structure
graph LR
  subgraph com.mastercard.test.flow
    api --> message-core
    api --> builder
    api --> model
    api --> validation-core
    api --> report-core
    assert-core --> assert-junit4
    assert-core --> assert-junit5
    assert-filter --> assert-core
    message-core --> message-http
    message-core --> message-json
    message-core --> message-sql
    message-core --> message-text
    message-core --> message-web
    message-core --> message-xml
    report-core --> assert-filter
    report-ng --> report-core
    validation-core --> validation-junit4
    validation-core --> validation-junit5
    validation-core --> coppice
  end
Loading

Links