corda / net.corda.testing.node

Package net.corda.testing.node

Types

ClusterSpec

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

abstract class ClusterSpec

DatabaseSnapshot

object DatabaseSnapshot

InMemoryMessagingNetwork

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

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

class MockNetFlowTimeOut

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.

class MockNetNotaryConfig

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.

open class MockNetwork

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 MockNetworkNotarySpec

MockNetworkParameters

Immutable builder for configuring a MockNetwork.

data class MockNetworkParameters

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.

class MockNodeConfigOverrides

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.

data class MockNodeParameters

MockServices

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

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.

data class NotarySpec

StartedMockNode

A class that represents a started mock node for testing.

class StartedMockNode

TestClock

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

class TestClock : MutableClock

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.

abstract class TestCordapp

UnstartedMockNode

A class that represents an unstarted mock node for testing.

class UnstartedMockNode

User

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

data class User

Functions

createMockCordaService

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

ledger

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>

makeTestIdentityService

Returns a simple IdentityService containing the supplied identities.

fun makeTestIdentityService(vararg identities: PartyAndCertificate): IdentityService

testActor

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

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

testContext

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

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

transaction

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>