4aaefb4fe9
* Split Workflow and contracts of Finance App into separate Cordapps, part 1 - content which is different between OS and ENT is still in contract Cordapp. * Move CashSelection implementations to workflow module. * Move CashSelection implmentations to workflow module. * Move finance module to finance-flows, top level finance module is empty. * Move finance module to finance-flows, top level finance module is empty. * Updated build comment. * Revert publication of combined (contracts and flows) corda-finance.jar (to maintain backwards compatibility with 3rd party cordapps dependent on finance) * Added backwards compatibility clarification comment. * Re-instate new cordapp metadata. * Global rename of `finance-flows` to `finance-workflows` to follow adopted naming conventions. * Addressed final review comments. * Rename application to "Corda Finance Demo" * Generation of original corda-finance jar from new sub-modules. * Fixed and tested demobench with new split finance contract and workflow jars. * Renamed finance sub-modules to contracts and workflows. * Remove Michele!!! * Minor fix to filtering logic. * Align CorDapp configuration filename with workflows jar. * Fix breaks caused by finance module naming changes. * Final alignment between OS/ENT of finance contract code. |
||
---|---|---|
.. | ||
deps | ||
src | ||
build.gradle | ||
prepare.sh | ||
README.md |
Introduction
This project illustrates how one can use Cucumber / BDD to drive and test homogeneous and heterogeneous Corda networks on a local machine. The framework has built-in support for Dockerised node dependencies so that you easily can spin up a Corda node locally that, for instance, uses a 3rd party database provider such as Postgres.
Structure
The project is split into three pieces:
-
Testing Library (main) - This library contains auxiliary functions that help in configuring and bootstrapping Corda networks on a local machine. The purpose of the library is to aid in black-box testing and automation.
-
Unit Tests (test) - These are various tests for the library described above. Note that there's only limited coverage for now.
-
BDD Framework (scenario) - This module shows how to use BDD-style frameworks to control the testing of Corda networks; more specifically, using Cucumber.
Setup
To get started, please follow the instructions below:
-
Go up to the root directory and build the capsule JAR.
$ cd ../../ $ ./gradlew install
-
Come back to this folder and run:
$ cd experimental/behave $ ./prepare.sh
This script will download necessary database drivers and set up the dependencies directory with copies of the Corda fat-JAR and the network bootstrapping tool.
Selective Runs
If you only want to run tests of a specific tag, you can append the following parameter to the Gradle command:
$ ../../gradlew scenario -Ptags="@cash"
# or
$ ../../gradlew scenario -Ptags="@cash,@logging"