corda / net.corda.testing.node

Package net.corda.testing.node

Test utilites to help running nodes programmatically for tests



abstract class ClusterSpec

Abstract class specifying information about the consensus algorithm used for a cluster of nodes.


class InMemoryMessagingNetwork : SingletonSerializeAsToken

An in-memory network allows you to manufacture MockNodeMessagingServices for a set of participants. Each MockNodeMessagingService maintains a queue of messages it has received, and a background thread that dispatches messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit testing).


class MockNetFlowTimeOut

MockNetFlowTimeOut can be used to configure flow time out settings for a node via the mock network API.


class MockNetNotaryConfig

MockNetNotaryConfig can be used to configure a node to be a notary via the mock network API. Internally this will be translated into a NotaryConfiguration and passed to the respective node.


open class MockNetwork

A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem or an in memory H2 database instance.


data class MockNetworkNotarySpec

The spec for a notary which will used by the MockNetwork to automatically start a notary node. This notary will become part of the network parameters used by all the nodes.


data class MockNetworkParameters

Immutable builder for configuring a MockNetwork.


class MockNodeConfigOverrides

This is a data class to configure overrides to the node configuration used in the mock network without having to expose/use the actual (internal) node configuration interface on the API. When passing one of these to createNode or createUnstartedNode functions, the bits that are set will be injected into the node configuration for the node to be created.


data class MockNodeParameters

Immutable builder for configuring a StartedMockNode or an UnstartedMockNode via MockNetwork.createNode and MockNetwork.createUnstartedNode. Kotlin users can also use the named parameters overloads of those methods which are more convenient.


open class MockServices : ServiceHub

An implementation of ServiceHub that is designed for in-memory unit tests of contract validation logic. It has enough functionality to do tests of code that queries the vault, inserts to the vault, and constructs/checks transactions. However it isn't enough to test flows and other aspects of an app that require a network. For that you should investigate MockNetwork.


data class NotarySpec

A notary spec for describing a notary which will be started automatically by the driver and which will be part of the network parameters used by all the nodes.


class StartedMockNode

A class that represents a started mock node for testing.


class TestClock : MutableClock

A Clock that can have the time advanced for use in testing.


abstract class TestCordapp

Encapsulates a CorDapp that exists on the current classpath, which can be pulled in for testing. Use TestCordapp.findCordapp to locate an existing CorDapp.


class UnstartedMockNode

A class that represents an unstarted mock node for testing.


data class User

Object encapsulating a node rpc user and their associated permissions for use when testing using the driver

Extensions for External Classes




fun <T : SerializeAsToken> createMockCordaService(serviceHub: MockServices, serviceConstructor: (AppServiceHub) -> T): T

Function which can be used to create a mock CordaService for use within testing, such as an Oracle.


fun makeTestIdentityService(vararg identities: PartyAndCertificate): IdentityService

Returns a simple IdentityService containing the supplied identities.


fun testActor(owningLegalIdentity: CordaX500Name = CordaX500Name("Test Company Inc.", "London", "GB")): Actor

Creates a new Actor for use in testing with the given owningLegalIdentity.


fun testContext(owningLegalIdentity: CordaX500Name = CordaX500Name("Test Company Inc.", "London", "GB")): InvocationContext

Creates a new InvocationContext for use in testing with the given owningLegalIdentity.