* Updated interoperability scenarios to use GA Release Candidate
* Removed "with proxy" and updated incorrect reference to OS master.
* Update to resolve Artifactory tools if available (blob-inspector, network-bootstrapper, database-migration)
* Allow passing in of argument to specify one or more scenarios to run.
* Updated to RC03.
* Added Oracle support in Behave framework and included functional test scenarios.
* behave test using snapshot (#970)
* make behave use snapshots from artifactory
* rebase and fix
* address PR issues
* address PR issues
* gradle task for bdd (#989)
* gradle task for bdd (#989)
* fix typo
* Publishing behave-api jar for use by external applications (eg. cordapp-option).
Fixed SIMMM valuation behave scenario test and startup.
* Publishing behave-api jar for use by external applications (eg. cordapp-option).
Fixed SIMMM valuation behave scenario test and startup.
* Various fixes to make BDD working in Teamcity (#1063)
* fix typo
* print docker log
* print docker log
* attempt to fix docker
* attempt to fix docker
* attempt to fix docker
* update to RC04
* disable clean up
* try to find out why the test pick up the wrong jar
* test
* minor fixes
* fix wrong bootstrapping procedure
* remove DISABLE_CLEANUP
* attempt to fix error
* fixes to get postgres working
* enable cleanup
* generate cucumber report
* bump to RC06
* attempt to make cucumber generate http report
* cucumber report
* some minor cleanup
* removed DP3 nodes from scenarios, added oracle and bumped to RC07
* fix licence issue
* fixed bootstrapper placing corda jar
* Update interoperability.feature
* Added missing published artifact.
* Fixed compilation errors raised by stricter compilation flag checking.
* Minor changes following rebase from master and re-testing.
* Updates to reflect last minute naming and versioning changes applied to 3.0 release.
Updated scenarios to use the officially released version of CE 3.0
* Updates following lastest PR review feedback.
* Updates following lastest PR review feedback.
* Align with master (maxMessageSize = mazTransactionSize).
* Fix snapshot version regex matching.
* Set logging level to DEBUG to ensure pattern matches catch log message output which has been downgraded from INFO
* Add all supported interoperable versions.
* ENT-2293: Skeleton of the new "rpcWorker" module
* ENT-2293: Add first failing test
(RPC server has not been implemented or started yet)
* ENT-2293: Further progress to start RPC server (unfinished)
* ENT-2293: RPC server started to work.
* ENT-2293: Slim down RpcWorker.
* ENT-2293: Minor changes.
* ENT-2293: Minor refactoring
* ENT-2293: Expand test coverage.
* ENT-2293: Introduce PicoCli for command line parsing.
* ENT-2293: Changes to make RPC server actually start.
* ENT-2293: Create simple RPC client.
* ENT-2293: Initialize serialization outside of RpcWorker.
* ENT-2261: Skeleton of parameterized test.
* ENT-2261: Programmatically compose rules and install them.
* ENT-2261: Separate counter decrement from termination.
* ENT-2261: Extend coverage to "executePersistCheckpoint".
* ENT-2261: Extend coverage to "ClientMessageImpl.acknowledge()"
* ENT-2261: Extend coverage to "RPCServer.context()"
* ENT-2261: Extend coverage to "ActionExecutorImpl.executeReleaseSoftLocks()" (unfinished)
* ENT-2261: Re-structure test data slightly.
"executeReleaseSoftLocks" seems to be failing.
* ENT-2261: Correct expectations in terms of number of transactions that ought to be produced.
Also use "eventually" construct to cater for node restart which may take some time.
* ENT-2261: Incorporate feedback from @exFalso and use polling approach.
* ENT-2261: Additional debug output.
* ENT-2261: Further expand coverage to RPCServer.context()
Also tighten-up assertion checks.
* ENT-2261: Further expand coverage to ActionExecutorImpl.executeCreateTransaction()
* ENT-2261: Further expand coverage to ActionExecutorImpl.executeRemoveCheckpoint()
* ENT-2261: Further expand coverage to ActionExecutorImpl.executePersistDeduplicationIds() and ActionExecutorImpl.executeCommitTransaction()
* ENT-2261: Revert non-material change.
* ENT-1967: Enable byteman library
* ENT-1967: Add an integration test to experiment with Byteman.
This needs to be running with: `-Dexperimental.test.enable`
As in: `gradlew -Dexperimental.test.enable integrationTest`
* ENT-1967: Modify Node driver to allow for optional instrumentation and use it in the integration test
* ENT-1967: Rely on port allocation
* ENT-1967: Install the rule that works
* ENT-1967: Trying to introduce counter rule (doesn't work)
* ENT-1967: Install rules that make correct use of countdown and also improve debug logging for Byteman
* ENT-1967: Add assertion to validate that exception is indeed thrown as per rules installed.
* ENT-1967: Less logging and more assertions
* ENT-1967: Replace `fun` with `val`
* ENT-1967: Un-break DriverDSL public API.
* ENT-1967: Minor change
* ENT-1967: Remove Byteman settings from NodeParameters and hide them inside InternalDriverDSL.
* ENT-1967: Introduce node restart scenario
* ENT-1967: Change the place where JVM is terminated and ensure that StdOut and StdErr not lost during restarts.
* ENT-1967: Changes after rebase.
* ENT-1967: Do not use InMemory DB for test that involves Node restart.
* ENT-1967: Minor fixes post merge from `master`.
* ENT-1967: Tighten-up test checks.
* ENT-1967: Enable byteman library
* ENT-1967: Add an integration test to experiment with Byteman.
This needs to be running with: `-Dexperimental.test.enable`
As in: `gradlew -Dexperimental.test.enable integrationTest`
* ENT-1967: Modify Node driver to allow for optional instrumentation and use it in the integration test
* ENT-1967: Rely on port allocation
* ENT-1967: Install the rule that works
* ENT-1967: Trying to introduce counter rule (doesn't work)
* ENT-1967: Install rules that make correct use of countdown and also improve debug logging for Byteman
* ENT-1967: Add assertion to validate that exception is indeed thrown as per rules installed.
* ENT-1967: Less logging and more assertions
* ENT-1967: Replace `fun` with `val`
* ENT-1967: Un-break DriverDSL public API.
* ENT-1967: Minor change
* ENT-1967: Remove Byteman settings from NodeParameters and hide them inside InternalDriverDSL.
* ENT-1967: Change the way how Jars resolved and use `Try` construct.
The list of CorDapps jars is no longer passed in via the cmd line but is now expected to be placed in the bootstrapped directory.
Ended up being a bit of a refactor to cater for unit testing, and also tidied up the bootstrapper docs.
As reported in [CORDA-1609](https://r3-cev.atlassian.net/browse/CORDA-1609),
`CordaRPCClientConfiguration.default` is not accessible from Java since
`default` is a reserved keyword.
As part of the refactor made in #2831, `CordaRPCClientConfiguration` went
from being a data class to an interface with a backing implementation of
type `CordaRPCClientConfigurationImpl`.
This resulted in Java users having to rewrite code that was on the form:
```java
final CordaRPCClient client = new CordaRPCClient(
nodeAddress, CordaRPCClientConfiguration.DEFAULT
);
```
to something like this:
```java
final CordaRPCClient client = new CordaRPCClient(
nodeAddress, CordaRPCClientConfiguration.Companion.default()
);
```
However, this does not work. The user would get a compilation error because
`default` is a reserved keyword in Java.
Since `CordaRPCClientConfiguration` has been made an interface, there is no
easy way of introducing a static final field on the interface from Kotlin.
Consequently, I've changed this back to using a `class` with a static field
named `DEFAULT` instead of the static method `default()`.
It should be noted that `default()` / `DEFAULT` is currently only used
internally to pass in default values in `CordaRPCClient.kt` and
`CordaRPCClientUtils.kt`. That said, it is exposed as part of our API
surface and consequently shouldn't be broken.
The latter means that in the above example, the user would actually not
have to provide the parameter at all:
```java
final CordaRPCClient client = new CordaRPCClient(nodeAddress);
```
As can be seen from the definition of `CordaRPCClient`:
```kotlin
class CordaRPCClient private constructor(...) {
@JvmOverloads
constructor(
hostAndPort: NetworkHostAndPort,
configuration: CordaRPCClientConfiguration = CordaRPCClientConfiguration.DEFAULT
) : this(hostAndPort, configuration, null)
```
The mentioned [refactor](7a077e76f0 (diff-0948c125db93a22263eb81eaf3161c17R65))
did not make it into the 3.1 release, so from an API-stability perspective,
this change can be applied without affecting our commitment to a
backwards compatible API..
* ENT-1962: Perform RPC retry in case of RejectedCommandException
(cherry picked from commit 2a7f0dd)
* ENT-1962: Address code-review comments.
(cherry picked from commit 7b4edde)
* Added new 'eventHorizonDays' configuration item.
* Added custom authenticator to provide ARTIFACTORY credentials upon resolving protected internal URL.
* Re-pointed functional test scenarios to point to Enterprise master.
* Enterprise corda network scenarios to use NetworkBootstrapper tool (instead of Doorman/NMS) since decision made by Product Management to split out Doorman/NMS from Enterprise.
* Configuration parameter changed to 'runMigration' since DP3.
* Fixed problem with logger upon startup.
* General improvements and additions to setup and execution scripts (eg. SIMM valuation demo now consists of 3 separate jars)
* Updates to decouple from Network Services.
* Download all JARs from artifactory for a given published distribution.
* Add TODOs for Doorman/NMS rework.
* Addressing TL PR review comments.
* Additional instructions for setting up the environment and running QA tests.
* Fixed repository URL references.
* ENT-1986: Introduce new parameter `scenarioType`
* ENT-1986: Introduce `AbstractScenarioRunner` and refactor all the reusable bit of functionality into this class.
* ENT-1986: Create `LinearStateScenarioRunner` to use `perftestcordapp` flows.
* ENT-1986: More improvements to make Linear scenario runner work.
Since not every output state may be present, e.g. if the whole amount been paid and at source
the state is fully spent, there will not be a trace of an output state at source.
But recipient(target) will always have references of output states in its vault.
Also perform transfer of the full issued amount to eliminate any sort of coin selection issues.
* CORDA-1506: Cherry-pick fix from Corda OS.
* ENT-1396: Add verification logic to ensure that transaction reflected on both sides.
* ENT-1396: First stub on HA re-connect logic.
* ENT-1396: Ensure we re-connect correctly.
* ENT-1396: Improve the robustness of the scenario runner.
* ENT-1396: Perform Vault query in re-tryable fashion.
* ENT-1396: Larger iterations count.
* ENT-1396: Introduce "iterationsCount" as parameter.
* ENT-1396: ReadMe document.
* ENT-1396: Skeleton of HA testing project
* ENT-1396: Tidy-up arguments parsing and introduce ScenarioRunner.
* ENT-1396: More changes for ScenarioRunner.
* ENT-1396: Further changes.
* ENT-1396: Further changes.
* ENT-1396: Improve logging.
* ENT-1396: Add TODO comments to indicate what is going to be done in the future.
node-api now depends on this module and upcoming changes will use this as well rather than having to depend on node-api.
EnumEvolveTests.deserializeWithRename and EnumEvolveTests.multiOperations are temporarily ignored since their test resources can't be regenerated due to bugs.