mirror of
https://github.com/corda/corda.git
synced 2025-03-14 08:16:32 +00:00
Updated scenarios to include official release versions of OS and R3 Corda.
Grouped duplicate scenarios using examples. Added additional README.md with explanation of feature/scenario types. Updated scripts to reflect new directory location.
This commit is contained in:
parent
685897a7d2
commit
10a0891ab8
33
testing/qa/behave/README.md
Normal file
33
testing/qa/behave/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
The Behave Cucumber Scenarios defined under these sub-directories exercise R3 Corda and OS Corda distributions to include:
|
||||
- Open Source master
|
||||
- R3 Corda master
|
||||
- Released versions of Open Source from V3.0 onwards
|
||||
- Released versions of R3 Corda from R3 V3.0 DEV PREVIEW 3 onwards
|
||||
|
||||
**Compatibility** scenarios exercise:
|
||||
- mixed networks: combinations of OS and R3 Corda nodes configured within an R3 Network
|
||||
- mixed-versioned nodes: combinations of different versions of OS (master, V3.0, V3.1, etc) and R3 Corda (master, V3.0 DP, V3.0 GA) nodes within an R3 Network.
|
||||
- mixed-versioned corDapps: combinations of nodes running different versions of CorDapps (both valid and invalid upgrade mixes).
|
||||
- mixed-services: ability to continue transacting upon notaries, oracles, doorman upgrades & changes.
|
||||
|
||||
**Functional** scenarios exercise the key behaviours of R3 Corda components and node configurations to include:
|
||||
- basic cash management functions (issuance, transfer, redemption)
|
||||
- vault usage of different database providers (H2, sql-server, postgreSQL)
|
||||
- doorman certificate issuance and usage
|
||||
- compatibility zone network parameter registration and updates
|
||||
- network map registration and updates
|
||||
- notary registration and updates
|
||||
|
||||
NOTE:
|
||||
- the CTS framework uses R3's internal artifactory repositories to setup/configure officially released versions of Corda:
|
||||
1. https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases
|
||||
2. https://ci-artifactory.corda.r3cev.com/artifactory/r3-corda-releases
|
||||
- Scenarios specifying `master` will use the latest code checked into the respective Open Source and Enterprise repositories:
|
||||
1. https://github.com/corda/corda
|
||||
2. https://github.com/corda/enterprise/
|
||||
|
||||
Further goals of this project are to:
|
||||
- automatically generate and register Docker images with target Azure Test Environments (eg. Functional/QA, CTS)
|
||||
- effect execution of scenarios in specified Target Environments
|
||||
- use Before and After hooks to pre-configure Target Environments to allow batch running of multiple scenarios (eg. a given
|
||||
feature will specify the environment once for one or many scenarios)
|
@ -13,7 +13,8 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1-contract | finance-V2-contract |
|
||||
| corda-master | finance-V1-contract | finance-V2-contract |
|
||||
| r3-master | finance-V1-contract | finance-V2-contract |
|
||||
|
||||
Scenario Outline: Corda node can transact with another Corda node where each has a Cordapp version with same Contract verify but different State definition
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -26,7 +27,8 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1-state | finance-V2-state |
|
||||
| corda-master | finance-V1-state | finance-V2-state |
|
||||
| r3-master | finance-V1-state | finance-V2-state |
|
||||
|
||||
Scenario Outline: Corda node can transact with another Corda node where each has a Cordapp version with same Contract verify but different State definition and custom schemas
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -39,7 +41,8 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1-state-schema | finance-V2-state-schema |
|
||||
| corda-master | finance-V1-state-schema | finance-V2-state-schema |
|
||||
| r3-master | finance-V1-state-schema | finance-V2-state-schema |
|
||||
|
||||
Scenario Outline: Unhappy path scenarios to be added.
|
||||
Examples: TODO
|
@ -13,7 +13,8 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1-flowImpl1 | finance-V2-flowImpl2 |
|
||||
| corda-master | finance-V1-flowImpl1 | finance-V2-flowImpl2 |
|
||||
| r3-master | finance-V1-flowImpl1 | finance-V2-flowImpl2 |
|
||||
|
||||
Scenario Outline: Corda node can transact with another Corda node where each has a Cordapp version with different, but backwards compatible, Flow versions
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -25,7 +26,8 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1-flowV1 | finance-V2-flowV2 |
|
||||
| corda-master | finance-V1-flowV1 | finance-V2-flowV2 |
|
||||
| r3-master | finance-V1-flowV1 | finance-V2-flowV2 |
|
||||
|
||||
Scenario Outline: Corda node fails to transact with another Corda node where each has a Cordapp version with different, incompatible, Flow versions
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -37,4 +39,5 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1-flowV1-incompat | finance-V2-flowV2-incompat |
|
||||
| corda-master | finance-V1-flowV1-incompat | finance-V2-flowV2-incompat |
|
||||
| r3-master | finance-V1-flowV1-incompat | finance-V2-flowV2-incompat |
|
||||
|
@ -16,7 +16,7 @@ Feature: Compatibility - CorDapp upgrades and migrations
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | r3corda-3.0-DP3-RC01 | finance-V1 | finance-V2 |
|
||||
| corda-master | r3-master | finance-V1 | finance-V2 |
|
||||
|
||||
Scenario Outline: as above but Node B has not processed Node A payment flow transactions before upgrade
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -31,7 +31,7 @@ Feature: Compatibility - CorDapp upgrades and migrations
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | r3corda-3.0-DP3-RC01 | finance-V1 | finance-V2 |
|
||||
| corda-master | r3-master | finance-V1 | finance-V2 |
|
||||
|
||||
Scenario Outline: as above but Node B has not processed Node A payment flow transactions before upgrade so we enforce flow draining mode before upgrade can complete
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -47,4 +47,4 @@ Feature: Compatibility - CorDapp upgrades and migrations
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | r3corda-3.0-DP3-RC01 | finance-V1 | finance-V2 |
|
||||
| corda-master | r3-master | finance-V1 | finance-V2 |
|
||||
|
@ -13,4 +13,8 @@ Feature: Compatibility - CorDapp versions
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Cordapp-Version-X | Cordapp-Version-Y |
|
||||
| corda-3.0 | finance-V1 | finance-V2 |
|
||||
| corda-master | finance-V1 | finance-V2 |
|
||||
| r3-master | finance-V1 | finance-V2 |
|
||||
|
||||
Scenario Outline: Scenarios that exercise both happy and unhappy paths using Contract Constraints checking (hash, CZ whitelist, signature).
|
||||
Examples: TODO
|
@ -15,8 +15,7 @@ Feature: Compatibility - Database providers
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Currency | Database-Type |
|
||||
# | corda-3.0 | r3-master | GBP | SQL Server |
|
||||
| corda-3.0 | r3corda-3.0-DP3-RC04 | GBP | SQL Server |
|
||||
| corda-master | r3-master | GBP | SQL Server |
|
||||
|
||||
Scenario Outline: QA: Corda (OS) Node using H2 can transact with R3 Corda (Enterprise) node using Postgres, in an R3 Corda configured network.
|
||||
Given a node PartyA of version <R3-Corda-Node-Version> with proxy
|
||||
@ -31,9 +30,7 @@ Feature: Compatibility - Database providers
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Currency | Database-Type |
|
||||
# | corda-3.0 | r3-master | GBP | postgres |
|
||||
| corda-3.0 | r3corda-3.0-DP3-RC04 | GBP | postgres |
|
||||
|
||||
| corda-master | r3-master | GBP | postgres |
|
||||
|
||||
Scenario Outline: QA: 3 Nodes can transact with each other using different database providers: H2, SQL Server, PostgreSQL
|
||||
Given a node PartyA of version <R3-Corda-Node-Version> with proxy
|
||||
@ -54,5 +51,7 @@ Feature: Compatibility - Database providers
|
||||
|
||||
Examples:
|
||||
| R3-Corda-Node-Version | Currency | Database-Type-1 | Database-Type-2 | Database-Type-3 |
|
||||
# | r3-master | GBP | h2 | sql-server | postgres |
|
||||
| r3corda-3.0-DP3-RC01 | GBP | h2 | sql-server | postgres |
|
||||
| r3-master | GBP | h2 | sql-server | postgres |
|
||||
|
||||
Scenario Outline: Add Doorman and NMS database usage scenarios
|
||||
Examples: TODO
|
@ -14,5 +14,8 @@ Feature: Compatibility - Mixed Corda distributions (OS and Enterprise) running d
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Currency |
|
||||
| corda-3.0 | r3corda-3.0-DP3-RC04 | GBP |
|
||||
| corda-master | r3-master | GBP |
|
||||
| corda-master | r3-master | USD |
|
||||
| corda-master | r3-master | CHF |
|
||||
| corda-master | r3-master | EUR |
|
||||
|
||||
|
@ -14,8 +14,9 @@ Feature: Compatibility - Doorman certificate issuance
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | Doorman-Version-X | Doorman-Version-Y |
|
||||
| corda-3.0 | doorman-3.0-DP3-RC01 | doorman-3.0-master |
|
||||
| Corda-Node-Version | Doorman-Version-X | Doorman-Version-Y |
|
||||
| corda-3.0 | doorman-3.0.0-DEV-PREVIEW-3 | doorman-master |
|
||||
| corda-3.1 | doorman-3.0.0-DEV-PREVIEW-3 | doorman-master |
|
||||
|
||||
Scenario Outline: R3 Corda nodes can transact with each other, where they have been issued Certificates by different (R3 Corda) Doorman versions.
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -28,8 +29,8 @@ Feature: Compatibility - Doorman certificate issuance
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | Doorman-Version-X | Doorman-Version-Y |
|
||||
| r3corda-3.0-DP3-RC01 | doorman-3.0-DP3-RC01 | doorman-3.0-master |
|
||||
| Corda-Node-Version | Doorman-Version-X | Doorman-Version-Y |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | doorman-3.0.0-DEV-PREVIEW-3 | doorman-master |
|
||||
|
||||
Scenario Outline: Mixed (R3 and OS) Corda nodes can transact with each other, where they have been issued Certificates by different (R3 Corda) Doorman versions.
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -42,5 +43,6 @@ Feature: Compatibility - Doorman certificate issuance
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y | Doorman-Version-X | Doorman-Version-Y |
|
||||
| r3corda-3.0-DP3-RC01 | corda-3.0 | doorman-3.0-DP3-RC01 | doorman-3.0-master |
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y | Doorman-Version-X | Doorman-Version-Y |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | doorman-3.0.0-DEV-PREVIEW-3 | doorman-master |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | doorman-3.0.0-DEV-PREVIEW-3 | doorman-master |
|
||||
|
@ -14,8 +14,8 @@ Feature: Compatibility - CZ Network Parameters changes
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| r3corda-3.0 |
|
||||
| Corda-Node-Version |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
|
||||
Scenario Outline: R3 Corda nodes continue transacting when existing Notary changes from non-validating to validating
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -27,5 +27,8 @@ Feature: Compatibility - CZ Network Parameters changes
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| r3corda-3.0 |
|
||||
| Corda-Node-Version |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
|
||||
Scenario Outline: Many more scenarios to be added here (eg. CZ whitelist updates, minimumPlatformVersion, maxMessageSize, maxTransactionSize)
|
||||
Examples: TODO
|
@ -13,5 +13,7 @@ Feature: Compatibility - NMS node identity (nodeinfo) changes
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| corda-3.1 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
@ -13,7 +13,9 @@ Feature: Compatibility - NMS node identity (nodeinfo) generation
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y |
|
||||
| corda-3.0 | corda-3.0 |
|
||||
| corda-3.0 | corda-3.1 |
|
||||
| corda-master | corda-3.0 |
|
||||
| corda-master | corda-3.1 |
|
||||
|
||||
Scenario Outline: R3 Corda node can transact with another R3 Corda node where node infos are generated by different versions of R3 Corda
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -24,8 +26,8 @@ Feature: Compatibility - NMS node identity (nodeinfo) generation
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y |
|
||||
| r3corda-3.0-DP3-RC01 | r3corda-3.0 |
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | r3-master |
|
||||
|
||||
Scenario Outline: R3 Corda node can transact with another Corda (OS) node where node infos are generated by different distributions Corda
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -36,5 +38,10 @@ Feature: Compatibility - NMS node identity (nodeinfo) generation
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y |
|
||||
| r3corda-3.0-DP3-RC01 | corda-3.0 |
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-master |
|
||||
| r3-master | corda-3.0 |
|
||||
| r3-master | corda-3.1 |
|
||||
| r3-master | corda-master |
|
||||
|
@ -15,5 +15,5 @@ Feature: Compatibility - Node high availability and operational continuity
|
||||
And node A can transfer 100 GBP to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X |
|
||||
| r3corda-3.0-DP3-RC01 |
|
||||
| Corda-Node-Version-X |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
@ -14,7 +14,9 @@ Feature: Compatibility - Node configuration
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X |
|
||||
| corda-3.0 |
|
||||
| corda-3.0 |
|
||||
| corda-3.1 |
|
||||
| corda-master |
|
||||
|
||||
Scenario Outline: R3 Corda node can transact with another R3 Corda node where node configuration is changed on one of the R3 Corda nodes
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
@ -26,10 +28,11 @@ Feature: Compatibility - Node configuration
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X |
|
||||
| r3corda-3.0-DP3-RC01 |
|
||||
| Corda-Node-Version-X |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
| r3-master |
|
||||
|
||||
Scenario Outline: R3 Corda node can transact with another Corda (OS) node where node configuration is changed on both of the R3 Corda nodes
|
||||
Scenario Outline: R3 Corda node can transact with another Corda (OS) node where node configuration is changed on both OS and R3 Corda nodes
|
||||
Given a node A of version <Corda-Node-Version-X>
|
||||
And node A configuration is changed
|
||||
And node A has the finance app installed
|
||||
@ -41,4 +44,9 @@ Feature: Compatibility - Node configuration
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version-X | Corda-Node-Version-Y |
|
||||
| r3corda-3.0-DP3-RC01 | corda-3.0 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 |
|
||||
| r3-master | corda-master |
|
||||
|
||||
Scenario Outline: Add scenarios where new configuration items are added.
|
||||
Examples: TODO
|
@ -15,8 +15,10 @@ Feature: Compatibility - Node databases
|
||||
Then node B can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A |
|
||||
| corda-3.0 | r3corda-3.0 | H2 |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A |
|
||||
| r3-master | corda-master | h2 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | h2 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | h2 |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using azure-sql database
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -30,8 +32,10 @@ Feature: Compatibility - Node databases
|
||||
Then node B can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| corda-3.0 | r3corda-3.0 | H2 | azure-sql |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| r3-master | corda-master | h2 | azure-sql |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | h2 | azure-sql |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | h2 | azure-sql |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using a sql-server database
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -45,8 +49,10 @@ Feature: Compatibility - Node databases
|
||||
Then node B can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| corda-3.0 | r3corda-3.0 | H2 | sql-server |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| r3-master | corda-master | h2 | sql-server |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | h2 | sql-server |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | h2 | sql-server |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using an oracle 11g database
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -60,8 +66,10 @@ Feature: Compatibility - Node databases
|
||||
Then node B can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| corda-3.0 | r3corda-3.0 | H2 | oracle11g |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| r3-master | corda-master | h2 | oracle11g |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | h2 | oracle11g |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | h2 | oracle11g |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using an oracle 12c database
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -75,8 +83,10 @@ Feature: Compatibility - Node databases
|
||||
Then node B can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| corda-3.0 | r3corda-3.0 | H2 | oracle12c |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| r3-master | corda-master | h2 | oracle12c |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | h2 | oracle12c |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | h2 | oracle12c |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using a postgres database
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -90,9 +100,10 @@ Feature: Compatibility - Node databases
|
||||
Then node B can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| corda-3.0 | r3corda-3.0 | H2 | postgres |
|
||||
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A | Database-Type-B |
|
||||
| r3-master | corda-master | h2 | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | h2 | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | h2 | postgres |
|
||||
|
||||
Scenario Outline: Corda network of an (OS) Node using H2 database and R3 Corda nodes using different commercial database providers and versions transacting between each other
|
||||
Given a node A of version <Corda-Node-Version>
|
||||
@ -122,5 +133,7 @@ Feature: Compatibility - Node databases
|
||||
Then node F can transfer 100 tokens to node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Database-Type-A | Database-Type-B | Database-Type-C | Database-Type-D | Database-Type-E | Database-Type-F |
|
||||
| corda-3.0 | r3corda-3.0 | H2 | azure-sql | sql-server | oracle11g | oracle12c | postgres |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Database-Type-A | Database-Type-B | Database-Type-C | Database-Type-D | Database-Type-E | Database-Type-F |
|
||||
| r3-master | corda-master | H2 | azure-sql | sql-server | oracle11g | oracle12c | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | H2 | azure-sql | sql-server | oracle11g | oracle12c | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | H2 | azure-sql | sql-server | oracle11g | oracle12c | postgres |
|
@ -7,24 +7,10 @@ Feature: Compatibility - Node versions
|
||||
When the network is ready
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
|
||||
Scenario Outline: Startup a Corda (OS) Node from Artifactory
|
||||
Given a node PartyA of version <Corda-Node-Version>
|
||||
When the network is ready
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
|
||||
Scenario Outline: Startup an R3 Corda Node from Artifactory
|
||||
Given a node PartyA of version <Corda-Node-Version>
|
||||
When the network is ready
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| r3corda-3.0-DP3-RC01 |
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| corda-3.1 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
|
||||
Scenario Outline: Startup a Corda (OS) Node and print its node information
|
||||
Given a node PartyA of version <Corda-Node-Version>
|
||||
@ -33,8 +19,10 @@ Feature: Compatibility - Node versions
|
||||
And user can retrieve node identity information for node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| corda-3.1 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
|
||||
Scenario Outline: Startup a Corda (OS) Node with several Cordapps deployed.
|
||||
Given a node PartyA of version <Corda-Node-Version>
|
||||
@ -45,5 +33,7 @@ Feature: Compatibility - Node versions
|
||||
And user can retrieve node identity information for node A
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| Corda-Node-Version |
|
||||
| corda-3.0 |
|
||||
| corda-3.1 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
|
@ -13,8 +13,10 @@ Feature: Compatibility - Notary type change
|
||||
Then node A can transfer 100 tokens to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | Notary-Type-A | Notary-Type-B |
|
||||
| corda-3.0 | notary-validating | notary-non-validating |
|
||||
| Corda-Node-Version | Notary-Type-A | Notary-Type-B |
|
||||
| corda-3.0 | notary-validating | notary-non-validating |
|
||||
| corda-3.1 | notary-validating | notary-non-validating |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | notary-validating | notary-non-validating |
|
||||
|
||||
Scenario Outline: Corda (OS) nodes can continue transacting with each other, using states that have been signed by different notaries (using transaction resolution).
|
||||
Given a node A of version <Corda-Node-Version> using <Notary-Type-A>
|
||||
@ -26,8 +28,10 @@ Feature: Compatibility - Notary type change
|
||||
And node A can transfer 100 <Currency> to node B
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | Notary-Type-A | Notary-Type-B |
|
||||
| corda-3.0 | notary-validating | notary-non-validating |
|
||||
| Corda-Node-Version | Notary-Type-A | Notary-Type-B |
|
||||
| corda-3.0 | notary-validating | notary-non-validating |
|
||||
| corda-3.1 | notary-validating | notary-non-validating |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | notary-validating | notary-non-validating |
|
||||
|
||||
Scenario Outline: Unhappy path scenarios to be added.
|
||||
Examples: TODO
|
||||
|
@ -10,5 +10,7 @@ Feature: Compatibility - Notary cluster member changes.
|
||||
Then node PartyA can run <Cordapp-Name> <NumIterations> <SleepMillis>
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | R3-Corda-Node-Version | Cordapp-Name | NumIterations | SleepMillis |
|
||||
| corda-3.0 | r3-master | notaryhealthcheck | 10 | 200 |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Cordapp-Name | NumIterations | SleepMillis |
|
||||
| r3-master | corda-master | notaryhealthcheck | 10 | 200 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | notaryhealthcheck | 10 | 200 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | notaryhealthcheck | 10 | 200 |
|
||||
|
@ -13,5 +13,8 @@ Feature: Compatibility - Notary version change
|
||||
And node B can transfer 100 tokens to node A using <Notary-Version-Y>
|
||||
|
||||
Examples:
|
||||
| Corda-Node-Version | Notary-Version-X | Notary-Version-Y |
|
||||
| corda-3.0 | notary-r3c-3.0-DP2 | notary-r3c-3.0 |
|
||||
| Corda-Node-Version | Notary-Version-X | Notary-Version-Y |
|
||||
| corda-3.0 | notary-corda-3.0 | notary-corda-3.1 |
|
||||
| corda-3.0 | notary-corda-3.0 | notary-R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
| corda-3.1 | notary-corda-3.1 | notary-R3.CORDA-3.0.0-DEV-PREVIEW-3 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | notary-R3.CORDA-3.0.0-DEV-PREVIEW-3 | r3-master |
|
||||
|
@ -13,10 +13,11 @@ Feature: QA Interoperability
|
||||
And node PartyA can transfer 100 <Currency> to node PartyB
|
||||
|
||||
Examples:
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Currency |
|
||||
# | r3-master | corda-master | GBP |
|
||||
# | r3-master | corda-3.0 | GBP |
|
||||
| r3corda-3.0-DP3-RC04 | corda-3.0 | GBP |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Currency |
|
||||
| r3-master | corda-master | GBP |
|
||||
| corda-3.0 | corda-3.1 | GBP |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | GBP |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | GBP |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using a sql-server database
|
||||
Given a node PartyA of version <R3-Corda-Node-Version> with proxy
|
||||
@ -30,27 +31,17 @@ Feature: QA Interoperability
|
||||
And node PartyA can transfer 100 <Currency> to node PartyB
|
||||
|
||||
Examples:
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Currency | Database-Type |
|
||||
# | r3-master | corda-3.0 | GBP | sql-server |
|
||||
| r3corda-3.0-DP3-RC04 | corda-3.0 | GBP | sql-server |
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Currency | Database-Type |
|
||||
| r3-master | corda-master | GBP | sql-server |
|
||||
| corda-3.0 | corda-3.1 | GBP | sql-server |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | GBP | sql-server |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | GBP | sql-server |
|
||||
| r3-master | corda-master | GBP | postgres |
|
||||
| corda-3.0 | corda-3.1 | GBP | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | GBP | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | GBP | postgres |
|
||||
|
||||
Scenario Outline: Corda (OS) Node using H2 database can transact with R3 Corda node using a postgres database
|
||||
Given a node PartyA of version <R3-Corda-Node-Version> with proxy
|
||||
And node PartyA uses database of type <Database-Type>
|
||||
And node PartyA has the finance app installed
|
||||
And a node PartyB of version <Corda-Node-Version>
|
||||
And node PartyB has the finance app installed
|
||||
And a nonvalidating notary Notary of version <R3-Corda-Node-Version>
|
||||
When the network is ready
|
||||
Then node PartyA can issue 1000 <Currency>
|
||||
And node PartyA can transfer 100 <Currency> to node PartyB
|
||||
|
||||
Examples:
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Currency | Database-Type |
|
||||
# | r3-master | corda-3.0 | GBP | postgres |
|
||||
| r3corda-3.0-DP3-RC04 | corda-3.0 | GBP | postgres |
|
||||
|
||||
Scenario Outline: Corda network of an (OS) Node using H2 database and R3 Corda nodes using different commercial database providers and versions transacting between each other
|
||||
Scenario Outline: R3 Corda network with R3 Corda nodes using different database providers and versions transacting between each other
|
||||
Given a node PartyA of version <R3-Corda-Node-Version> with proxy
|
||||
And node PartyA uses database of type <Database-Type-1>
|
||||
And node PartyA has the finance app installed
|
||||
@ -68,6 +59,29 @@ Feature: QA Interoperability
|
||||
And node PartyC can transfer 100 <Currency> to node PartyA
|
||||
|
||||
Examples:
|
||||
| R3-Corda-Node-Version | Currency | Database-Type-1 | Database-Type-2 | Database-Type-3 |
|
||||
# | r3-master | GBP | h2 | sql-server | postgres |
|
||||
| r3corda-3.0-DP3-RC04 | GBP | h2 | sql-server | postgres |
|
||||
| R3-Corda-Node-Version | Currency | Database-Type-1 | Database-Type-2 | Database-Type-3 |
|
||||
| r3-master | GBP | h2 | sql-server | postgres |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | GBP | h2 | sql-server | postgres |
|
||||
|
||||
Scenario Outline: Mixed OS and R3 Corda network using different database providers and versions transacting between each other
|
||||
Given a node PartyA of version <R3-Corda-Node-Version> with proxy
|
||||
And node PartyA uses database of type <Database-Type-1>
|
||||
And node PartyA has the finance app installed
|
||||
And a node PartyB of version <R3-Corda-Node-Version> with proxy
|
||||
And node PartyB uses database of type <Database-Type-2>
|
||||
And node PartyB has the finance app installed
|
||||
And a node PartyC of version <Corda-Node-Version> with proxy
|
||||
And node PartyC uses database of type <Database-Type-3>
|
||||
And node PartyC has the finance app installed
|
||||
And a nonvalidating notary Notary of version <R3-Corda-Node-Version>
|
||||
When the network is ready within 4 minutes
|
||||
Then node PartyA can issue 1000 <Currency>
|
||||
And node PartyA can transfer 100 <Currency> to node PartyB
|
||||
And node PartyB can transfer 100 <Currency> to node PartyC
|
||||
And node PartyC can transfer 100 <Currency> to node PartyA
|
||||
|
||||
Examples:
|
||||
| R3-Corda-Node-Version | Corda-Node-Version | Currency | Database-Type-1 | Database-Type-2 | Database-Type-3 |
|
||||
| r3-master | corda-master | GBP | sql-server | postgres | h2 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.0 | GBP | sql-server | postgres | h2 |
|
||||
| R3.CORDA-3.0.0-DEV-PREVIEW-3 | corda-3.1 | GBP | sql-server | postgres | h2 |
|
||||
|
@ -1,15 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Run this script from the experimental/behave directory
|
||||
# Run this script from your ${R3CORDA_HOME}/experimental/behave directory, where R3CORDA_HOME refers to R3 Corda source code (eg. GitHub master, branch or TAG)
|
||||
# For example:
|
||||
# R3CORDA_HOME => git clone https://github.com/corda/enterprise
|
||||
#
|
||||
# $ pwd
|
||||
# ./IdeaProjects/corda-reviews/experimental/behave
|
||||
# $ src/qa-scenarios/resources/scripts/run-behave-qa.sh
|
||||
# $ testing/qa/behave/compatibility/resources/scripts/run-interoperability.sh
|
||||
|
||||
BUILD_DIR=$PWD
|
||||
cd $BUILD_DIR
|
||||
R3CORDA_HOME=$PWD
|
||||
BEHAVE_DIR=${R3CORDA_HOME}/experimental/behave
|
||||
cd ${BEHAVE_DIR}
|
||||
../../gradlew behaveJar
|
||||
|
||||
# QA compatibility
|
||||
java -jar $BUILD_DIR/build/libs/corda-behave.jar -d --glue net.corda.behave.scenarios -path ./src/qa-scenarios/resources/features/qa-interop-testing.feature
|
||||
# QA interoperability
|
||||
java -jar ${BEHAVE_DIR}/build/libs/corda-behave.jar -d --glue net.corda.behave.scenarios -path ${R3CORDA_HOME}/testing/qa/behave/compatibility/resources/features/qa-interop-testing.feature
|
||||
|
@ -1,15 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Run this script from the experimental/behave directory
|
||||
# Run this script from your ${R3CORDA_HOME}/experimental/behave directory, where R3CORDA_HOME refers to R3 Corda source code (eg. GitHub master, branch or TAG)
|
||||
# For example:
|
||||
# R3CORDA_HOME => git clone https://github.com/corda/enterprise
|
||||
#
|
||||
# $ pwd
|
||||
# ./IdeaProjects/corda-reviews/experimental/behave
|
||||
# $ src/qa-scenarios/resources/scripts/run-behave-qa.sh
|
||||
# $ testing/qa/behave/compatibility/resources/scripts/run-functional.sh
|
||||
|
||||
BUILD_DIR=$PWD
|
||||
cd $BUILD_DIR
|
||||
|
||||
R3CORDA_HOME=$PWD
|
||||
BEHAVE_DIR=${R3CORDA_HOME}/experimental/behave
|
||||
cd ${BEHAVE_DIR}
|
||||
../../gradlew behaveJar
|
||||
|
||||
# QA compatibility
|
||||
java -jar $BUILD_DIR/build/libs/corda-behave.jar -d --glue net.corda.behave.scenarios -path ./testing/qa/functional/resources/features/qa-functional-testing.feature
|
||||
# QA functional
|
||||
java -jar ${BEHAVE_DIR}/build/libs/corda-behave.jar -d --glue net.corda.behave.scenarios -path ${R3CORDA_HOME}/testing/qa/behave/functional/resources/features/qa-functional-testing.feature
|
||||
|
Loading…
x
Reference in New Issue
Block a user