corda / net.corda.testing.node

Package net.corda.testing.node



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

abstract class ClusterSpec


object DatabaseSnapshot


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 InMemoryMessagingNetwork : SingletonSerializeAsToken


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

class MockNetFlowTimeOut


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.

class MockNetNotaryConfig


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.

open class MockNetwork


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 MockNetworkNotarySpec


Immutable builder for configuring a MockNetwork.

data class MockNetworkParameters


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.

class MockNodeConfigOverrides


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.

data class MockNodeParameters


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.

open class MockServices : ServiceHub


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.

data class NotarySpec


A class that represents a started mock node for testing.

class StartedMockNode


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

class TestClock : MutableClock


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

abstract class TestCordapp


A class that represents an unstarted mock node for testing.

class UnstartedMockNode


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

data class User



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

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


Creates and tests a ledger built by the passed in dsl.

fun ServiceHub.ledger(notary: Party = TestIdentity.fresh("ledger notary").party, script: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>


Returns a simple IdentityService containing the supplied identities.

fun makeTestIdentityService(vararg identities: PartyAndCertificate): IdentityService


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

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


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

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


Creates a ledger with a single transaction, built by the passed in dsl.

fun ServiceHub.transaction(notary: Party = TestIdentity.fresh("transaction notary").party, script: TransactionDSL<TransactionDSLInterpreter>.() -> EnforceVerifyOrFail): LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>