diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/SimpleNode.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/SimpleNode.kt deleted file mode 100644 index 6dad146916..0000000000 --- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/SimpleNode.kt +++ /dev/null @@ -1,77 +0,0 @@ -package net.corda.testing.node - -import com.codahale.metrics.MetricRegistry -import net.corda.core.crypto.generateKeyPair -import net.corda.core.internal.concurrent.openFuture -import net.corda.core.messaging.RPCOps -import net.corda.core.node.services.IdentityService -import net.corda.core.node.services.KeyManagementService -import net.corda.core.utilities.NetworkHostAndPort -import net.corda.node.services.RPCUserServiceImpl -import net.corda.node.services.api.MonitoringService -import net.corda.node.services.config.NodeConfiguration -import net.corda.node.services.identity.InMemoryIdentityService -import net.corda.node.services.keys.E2ETestKeyManagementService -import net.corda.node.services.messaging.ArtemisMessagingServer -import net.corda.node.services.messaging.NodeMessagingClient -import net.corda.node.services.network.NetworkMapCacheImpl -import net.corda.node.services.schema.NodeSchemaService -import net.corda.node.utilities.AffinityExecutor.ServiceAffinityExecutor -import net.corda.node.utilities.CordaPersistence -import net.corda.node.utilities.configureDatabase -import net.corda.testing.freeLocalHostAndPort -import net.corda.testing.node.MockServices.Companion.MOCK_VERSION_INFO -import java.security.KeyPair -import java.security.cert.X509Certificate -import kotlin.concurrent.thread - -/** - * This is a bare-bones node which can only send and receive messages. It doesn't register with a network map service or - * any other such task that would make it functional in a network and thus left to the user to do so manually. - */ -class SimpleNode(val config: NodeConfiguration, val address: NetworkHostAndPort = freeLocalHostAndPort(), - rpcAddress: NetworkHostAndPort = freeLocalHostAndPort(), - trustRoot: X509Certificate) : AutoCloseable { - - val userService = RPCUserServiceImpl(config.rpcUsers) - val monitoringService = MonitoringService(MetricRegistry()) - val identity: KeyPair = generateKeyPair() - val identityService: IdentityService = InMemoryIdentityService(trustRoot = trustRoot) - val database: CordaPersistence = configureDatabase(config.dataSourceProperties, config.database, { InMemoryIdentityService(trustRoot = trustRoot) }) - val keyService: KeyManagementService = E2ETestKeyManagementService(identityService, setOf(identity)) - val executor = ServiceAffinityExecutor(config.myLegalName.organisation, 1) - // TODO: We should have a dummy service hub rather than change behaviour in tests - val broker = ArtemisMessagingServer(config, address.port, rpcAddress.port, - NetworkMapCacheImpl(MockNetworkMapCache(database, config), identityService), userService) - val networkMapRegistrationFuture = openFuture<Unit>() - val network = database.transaction { - NodeMessagingClient( - config, - MOCK_VERSION_INFO, - address, - identity.public, - executor, - database, - networkMapRegistrationFuture, - monitoringService) - } - - fun start() { - broker.start() - network.start( - object : RPCOps { - override val protocolVersion = 0 - }, - userService) - thread(name = config.myLegalName.organisation) { - network.run(broker.serverControl) - } - } - - override fun close() { - network.stop() - broker.stop() - database.close() - executor.shutdownNow() - } -}