https://github.com/mastercard/flow
Testing framework
https://github.com/mastercard/flow
java testing
Last synced: about 1 year ago
JSON representation
Testing framework
- Host: GitHub
- URL: https://github.com/mastercard/flow
- Owner: Mastercard
- License: apache-2.0
- Created: 2022-08-02T14:13:05.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-06-09T09:42:21.000Z (about 1 year ago)
- Last Synced: 2025-06-09T10:30:50.034Z (about 1 year ago)
- Topics: java, testing
- Language: Java
- Homepage:
- Size: 6.47 MB
- Stars: 22
- Watchers: 9
- Forks: 20
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
[](https://github.com/Mastercard/flow/actions/workflows/maven.yml)
[](https://github.com/Mastercard/flow/actions/workflows/codeql-analysis.yml)
[](https://sonarcloud.io/summary/new_code?id=Mastercard_flow)
[](https://sonarcloud.io/summary/new_code?id=Mastercard_flow)
[](LICENCE)
[](https://search.maven.org/search?q=com.mastercard.test.flow)
# flow
Testing framework
* [api](api) Core type declarations
* [message](message) Implementations of the Message interface
* [builder](builder) Implementations of the Flow and Interaction interfaces
* [model](model) Implementations of the Model interface
* [validation](validation) Checking model consistency
* [assert](assert) Comparing models against systems
* [report](report) Visualising assertion results
* [bom](bom) Bill of materials
* [aggregator](aggregator) Aggregates build artifacts
* [example](example) Service constellation to exercise the flow framework
* [doc](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](https://mastercard.github.io/flow/static/app-itest/target/mctf/latest/index.html).
[This document describes the motivations for this approach](doc/src/main/markdown/motivation/index.md).
## Usage
* [Quickstart guide](doc/src/main/markdown/quickstart.md): Illustrates the construction of a simple system model and its usage.
* [Further reading](doc/src/main/markdown/further.md): Covers more advanced usage.
* The submodules under [example](example) illustrate a complete service constellation with flow-based testing
Artifact dependency structure
```mermaid
graph TB
subgraph com.mastercard.test.flow
api[api]
assert-core[assert-core]
assert-filter[assert-filter]
assert-junit4[assert-junit4]
assert-junit5[assert-junit5]
builder[builder]
coppice[coppice]
duct[duct]
message-bytes[message-bytes]
message-core[message-core]
message-http[message-http]
message-json[message-json]
message-sql[message-sql]
message-text[message-text]
message-web[message-web]
message-xml[message-xml]
model[model]
report-core[report-core]
report-ng[report-ng]
validation-core[validation-core]
validation-junit4[validation-junit4]
validation-junit5[validation-junit5]
end
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-bytes
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-core --> duct
report-ng --> report-core
validation-core --> validation-junit4
validation-core --> validation-junit5
validation-core --> coppice
```
## Links
* This project is copyright © 2022 Mastercard, and is released under the [Apache version 2.0 licence](LICENCE).
* [Contribution guidance](CONTRIBUTING.md).
* [Changelog](CHANGELOG.md)
* [Build artifacts](https://mastercard.github.io/flow/)