Commit Graph

643 Commits

Author SHA1 Message Date
aa50aaf95d Merge commit 'e879de7' into chrisr3-os-merge 2018-07-17 22:47:24 +01:00
2003881b77 Features/fix integration test in database mode (#1276)
Fix new/altered integration tests to run in database mode, disable new H2 db specific test when running against a remote database.
2018-07-17 12:40:05 +01:00
cb4e428ec4 Merge pull request #1275 from corda/bogdan-merge-160618
OS-ENT merge
2018-07-17 12:37:45 +01:00
736d62ec1a Retire RandomFree as it causes flaky tests (#3626) 2018-07-17 10:29:47 +01:00
2b6e59e7bd Eliminate extensive printout when Byteman not found on the classpath. (#1277)
Byteman is absent for most of the integration tests and long stacktrace is seen in the log
presently that un-necessarily attracts attention and consumes logging space.
2018-07-17 09:04:24 +01:00
33ce848e0c OS-ENT merge 2018-07-16 10:00:16 +01:00
21a7b56161 Fix up compilation errors. 2018-07-13 14:33:13 +01:00
4e81d26985 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180713-1 2018-07-13 13:15:53 +01:00
dc3bd8de7a Retired BankOfCordaRPCClientTest as it's mostly duplicated by BankOfCordaCordformTest (#3565) 2018-07-13 10:37:51 +01:00
2db5e0e158 Docs were missing final brace (#3551) 2018-07-12 17:48:09 +01:00
f4a248f81f Made CashSelectionTest a unit test by using mock network. (#3570)
Also includes adding a default value of emptyList() to InternalMockNetwork.cordappPackages
2018-07-12 11:55:51 +01:00
baabf8ceb9 Merge remote-tracking branch 'open-source/master' into thomas/os-merge-2018-07-11
Conflicts:
	finance/src/integration-test/kotlin/net/corda/finance/flows/CashConfigDataFlowTest.kt
	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
	node/src/integration-test/kotlin/net/corda/node/NodeUnloadHandlerTests.kt
	node/src/integration-test/kotlin/net/corda/node/flows/FlowRetryTest.kt
	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt
	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt
	webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt
2018-07-11 14:56:03 +01:00
a4e325a494 ENT-1967: Extend integration test to cover Node process termination scenario. (#1254)
* 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.
2018-07-11 12:54:56 +01:00
2833ec2a88 Avoiding starting notaries in driver-based integration tests to speed them up (#3544) 2018-07-11 11:36:36 +01:00
c396b80afe ENT-1967: Illustration for Byteman library can be used in Node integration test. (#1204)
* 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.
2018-07-10 10:05:07 +01:00
61a8bd0a5a Merge remote-tracking branch 'open/master' into feature/vkolomeyko/os-merge
# Conflicts:
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
2018-07-09 16:45:20 +01:00
d481c55b82 CORDA-1743: Remove isDebug = true from Node driver to speed-up integration tests execution. (#3535)
* CORDA-1743: Remove `isDebug = true` from Node driver to speed-up integration tests execution.

* CORDA-1743: Undo removal of "isDebug = true" from the test that specifically checks for this condition.

* CORDA-1743: Address input from @shamsasari
2018-07-09 16:37:01 +01:00
5d55a87d70 Merge remote-tracking branch 'open/master' into os-merge-aefd90f
# Conflicts:
#	CONTRIBUTORS.md
2018-07-09 12:33:47 +01:00
aefd90f062 Minor: ProcessUtilities clean up (#3533) 2018-07-09 12:29:33 +01:00
3203bdae97 Merge from O/S 2018-07-05 19:09:25 +01:00
0c8c914882 Removing warnings 2018-07-05 15:45:28 +01:00
f7dd4f7880 Use in-memory H2 for integration test (#2508)
* Default integration tests running with in-memory H2
2018-07-05 14:58:51 +01:00
20a589d66d Merge remote-tracking branch 'open/master' into os-merge-244167d
# Conflicts:
#	docs/source/example-code/src/main/kotlin/net/corda/docs/FlowCookbook.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/LaunchSpaceshipFlow.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/tearoffs/TutorialTearOffs.kt
#	docs/source/running-a-node.rst
#	experimental/behave/build.gradle
#	experimental/behave/src/scenario/kotlin/net/corda/behave/scenarios/helpers/Substeps.kt
#	experimental/kryo-hook/build.gradle
#	experimental/quasar-hook/build.gradle
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
#	node/src/test/kotlin/net/corda/node/internal/NodeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/HibernateConfigurationTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
2018-07-04 18:38:34 +01:00
244167d3e9 Enabled warnings as errors (#3514) 2018-07-04 17:17:27 +01:00
13d7892ded Merge commit 'a5f43110f01c1bb116bb13274f1046204ee76e5f' into christians/merge-CORDA-1710 2018-07-03 13:05:39 +01:00
95d1b1f84e ENT-2001 use versionInfo when registering node with the doorman (#3435)
* ENT-2001 use versionInfo when registering node with the doorman

* ENT-2001 address code review changes
2018-07-03 09:16:48 +01:00
ab3974ed60 Switch dependencies to rpcProxyCompile. (#1173)
The problem manifests itself in IntelliJ when full rebuilt is performed with Gradle delegation.
In this case IntelliJ executes the following tasks:
`:testing:qa:behave:tools:rpc-proxy:classes`, `:testing:qa:behave:tools:rpc-proxy:testClasses`, `:testing:qa:behave:tools:rpc-proxy:smokeTestClasses` and `:testing:qa:behave:tools:rpc-proxy:rpcProxyClasses`

Without the change when `rpcProxyClasses` task executed - the build fails.

The problem is likely to be caused by the fact that this is a multi-sourceSets project.
2018-07-02 17:08:55 +01:00
0f98a1cbcd Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180702
# Conflicts:
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
2018-07-02 11:31:18 +01:00
2b6018f050 Merge pull request #3473 from corda/fix_flaky_test
[CORDA-1698] Fix flaky test
2018-06-29 16:26:24 +01:00
4c56188383 Cleanup. 2018-06-29 09:55:34 +01:00
941719ab8b Use TestClock in MockServices. 2018-06-28 17:14:06 +01:00
8df18e954f ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries (#1101)
* ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries
ENT-1880 Move identity key generation to network registration process

(cherry picked from commit c3ac203)
2018-06-28 15:20:22 +01:00
c3ac203251 ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries (#1101)
* ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries
ENT-1880 Move identity key generation to network registration process
2018-06-28 15:10:52 +01:00
b09368a17a Merge remote-tracking branch 'remotes/open/master' into merges/june-28-09-45
# Conflicts:
#	docs/source/getting-set-up.rst
#	docs/source/node-database.rst
2018-06-28 09:51:11 +01:00
84a86d32b7 Fixed broken smoke test caused by no notaries in the network parameters (#3461)
For now the workaround is to manually select the notary. The proper solution is to add notaries to the network parameters in smoke tests.
2018-06-28 09:43:29 +01:00
eee2563bfa CORDA-1660: Wiring up the CordaRPCClient class loader to the p2p serialisation context. (#3454)
This is to allow the standalone shell to be able to receive WireTransactions containing Cash.State objects.
2018-06-27 17:02:35 +01:00
d060e95834 Merge OS -> ENT up to e00c7706c3 2018-06-26 10:02:33 +01:00
9be4c5dca4 CORDA-1567 Remove all traces of the out-of-process verifier (#3424) 2018-06-25 13:01:33 +01:00
7d975a43e0 Merge pull request #1058 from corda/chrisr3-os-merge
Merge from Open Source.
2018-06-23 17:32:27 +01:00
8b3a5432cb Merge commit '02348a584d56cdb562581d99be5b56348f7d1001' into chrisr3-os-merge 2018-06-23 00:06:11 +01:00
2fe5bae8a7 ENT-1953 enterprise tuning config (#1057)
* ENT-1953 enterprise tuning config

* Keep flowThreadPoolSize at 1 for integration tests as some expect certain ordering it seems.

* Log thread count for SMM
2018-06-22 16:39:17 +01:00
687ed95994 CORDA-1407 Fix explorer rpc access rights (#3413) 2018-06-22 09:48:13 +01:00
fb3e216318 Merge remote-tracking branch 'open/master' into tudor-merge-21-06
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt
2018-06-21 16:51:19 +01:00
381aadc78f ENT-1796 RPC SSL (#3401)
* ENT-1796 add just-generate-rpc-ssl-settings command line flag. Fix ssl configuration and documentation

* ENT-1796 small fix. change alias

* ENT-1796 address code review changes

* ENT-1796 revert file

* ENT-1796 Added check to display better error message

* ENT-1796 Doc fixes
2018-06-21 16:46:05 +01:00
9b5a099302 ENT-2105: Remove unnecessary sourceSets from integration tests. (#1029)
The database scripts are already available from the test-utils JAR via the classpath and so don't need
to be included as additional source sets.
2018-06-20 15:38:48 +01:00
56e1f6c650 CORDA-1407 Node Explorer - fix total column 2018-06-19 12:21:40 +01:00
ad76b7821e Merge remote-tracking branch 'open/master' into os-merge-2018-06-18-17_42 2018-06-18 17:51:41 +01:00
100008b139 [CORDA-1634] Destroy child processes when parent exits. (#3368)
* [CORDA-1634] Destroy child processes when parent exits.

* Add comment.

* Register Shutdownhook for processes regardless of whether the Driver was initialized with

* Add comment.

* Revert "Add comment."

This reverts commit a5e78c379f.

* Add comment.

* Add shutdown hook in ShutdownManager.registerProcessShutdown.

* Initialize the ShutdownManager with a shutdown hook to ensure that  is called.

* Add comment.
2018-06-18 17:39:46 +01:00
a612ca234a Merge remote-tracking branch 'open/master' into tlil-os-merge-20180613 2018-06-13 21:45:00 +01:00
fe313951ea CORDA-1609 - Don't use reserved keyword as method name
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..
2018-06-13 15:39:03 +01:00