From f5483d1debe24787ac58064677738aacec30ba0a Mon Sep 17 00:00:00 2001 From: Anthony Keenan Date: Wed, 25 Apr 2018 11:59:20 +0100 Subject: [PATCH] ENT-1577 - Remove exposure of internal classes via test api (#516) * Remove exposures of internal classes via testing api * Remove deleted api from api-current * Fix merge conflict * Remove internal usage from api-current.txt --- .ci/api-current.txt | 2 -- .../persistence/RunOnceServiceTest.kt | 2 +- .../net/corda/testing/node/MockServices.kt | 19 +---------------- .../node/internal/InternalMockNetwork.kt | 1 - .../node/internal/InternalTestUtils.kt | 21 ++++++++++++++++--- 5 files changed, 20 insertions(+), 25 deletions(-) diff --git a/.ci/api-current.txt b/.ci/api-current.txt index 167f149ecf..6a33808450 100644 --- a/.ci/api-current.txt +++ b/.ci/api-current.txt @@ -4250,7 +4250,6 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem @org.jetbrains.annotations.NotNull public static final Properties makeTestDataSourceProperties(String, String, kotlin.jvm.functions.Function2) @org.jetbrains.annotations.NotNull public static final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.security.KeyPair...) @org.jetbrains.annotations.NotNull public static final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, java.security.KeyPair...) - @org.jetbrains.annotations.NotNull public static final net.corda.nodeapi.internal.persistence.DatabaseConfig makeTestDatabaseProperties(String) public void recordTransactions(Iterable) public void recordTransactions(net.corda.core.node.StatesToRecord, Iterable) public void recordTransactions(net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) @@ -4267,7 +4266,6 @@ public static final class net.corda.testing.node.MockServices$Companion extends @org.jetbrains.annotations.NotNull public final Properties makeTestDataSourceProperties(String, String, kotlin.jvm.functions.Function2) @org.jetbrains.annotations.NotNull public final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.security.KeyPair...) @org.jetbrains.annotations.NotNull public final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, java.security.KeyPair...) - @org.jetbrains.annotations.NotNull public final net.corda.nodeapi.internal.persistence.DatabaseConfig makeTestDatabaseProperties(String) ## public static final class net.corda.testing.node.MockServices$Companion$makeTestDatabaseAndMockServices$mockService$1$1 extends net.corda.testing.node.MockServices @org.jetbrains.annotations.NotNull public net.corda.core.node.services.VaultService getVaultService() diff --git a/node/src/test/kotlin/net/corda/node/services/persistence/RunOnceServiceTest.kt b/node/src/test/kotlin/net/corda/node/services/persistence/RunOnceServiceTest.kt index 4cb6a4a928..862139647a 100644 --- a/node/src/test/kotlin/net/corda/node/services/persistence/RunOnceServiceTest.kt +++ b/node/src/test/kotlin/net/corda/node/services/persistence/RunOnceServiceTest.kt @@ -18,7 +18,7 @@ import net.corda.node.internal.configureDatabase import net.corda.nodeapi.internal.persistence.CordaPersistence import net.corda.testing.internal.rigorousMock import net.corda.testing.node.MockServices.Companion.makeTestDataSourceProperties -import net.corda.testing.node.MockServices.Companion.makeTestDatabaseProperties +import net.corda.testing.node.internal.makeTestDatabaseProperties import org.junit.After import org.junit.Before import org.junit.Rule diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt index 3c59bf41e7..b4aa7f49f9 100644 --- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt +++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt @@ -47,9 +47,7 @@ import net.corda.node.services.schema.NodeSchemaService import net.corda.node.services.transactions.InMemoryTransactionVerifierService import net.corda.node.services.vault.NodeVaultService import net.corda.nodeapi.internal.persistence.CordaPersistence -import net.corda.nodeapi.internal.persistence.DatabaseConfig import net.corda.nodeapi.internal.persistence.HibernateConfiguration -import net.corda.nodeapi.internal.persistence.TransactionIsolationLevel import net.corda.testing.common.internal.testNetworkParameters import net.corda.testing.core.TestIdentity import net.corda.testing.database.DatabaseConstants @@ -57,12 +55,11 @@ import net.corda.testing.database.DatabaseConstants.DATA_SOURCE_CLASSNAME import net.corda.testing.database.DatabaseConstants.DATA_SOURCE_PASSWORD import net.corda.testing.database.DatabaseConstants.DATA_SOURCE_URL import net.corda.testing.database.DatabaseConstants.DATA_SOURCE_USER -import net.corda.testing.database.DatabaseConstants.SCHEMA -import net.corda.testing.database.DatabaseConstants.TRANSACTION_ISOLATION_LEVEL import net.corda.testing.internal.DEV_ROOT_CA import net.corda.testing.internal.MockCordappProvider import net.corda.testing.node.internal.MockKeyManagementService import net.corda.testing.node.internal.MockTransactionStorage +import net.corda.testing.node.internal.makeTestDatabaseProperties import net.corda.testing.services.MockAttachmentStorage import java.security.KeyPair import java.sql.Connection @@ -113,20 +110,6 @@ open class MockServices private constructor( return props } - /** - * Make properties appropriate for creating a Database for unit tests. - * - * @param nodeName Reflects the "instance" of the in-memory database or database username/schema. - */ - @JvmStatic - fun makeTestDatabaseProperties(nodeName: String? = null): DatabaseConfig { - val config = databaseProviderDataSourceConfig(nodeName) - val transactionIsolationLevel = if (config.hasPath(TRANSACTION_ISOLATION_LEVEL)) TransactionIsolationLevel.valueOf(config.getString(TRANSACTION_ISOLATION_LEVEL)) - else TransactionIsolationLevel.READ_COMMITTED - val schema = if (config.hasPath(SCHEMA)) config.getString(SCHEMA) else "" - return DatabaseConfig(runMigration = true, transactionIsolationLevel = transactionIsolationLevel, schema = schema) - } - /** * Makes database and mock services appropriate for unit tests. * diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalMockNetwork.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalMockNetwork.kt index 746dd2e543..61c27a6d6e 100644 --- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalMockNetwork.kt +++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalMockNetwork.kt @@ -61,7 +61,6 @@ import net.corda.testing.internal.setGlobalSerialization import net.corda.testing.internal.testThreadFactory import net.corda.testing.node.* import net.corda.testing.node.MockServices.Companion.makeTestDataSourceProperties -import net.corda.testing.node.MockServices.Companion.makeTestDatabaseProperties import org.apache.activemq.artemis.utils.ReusableLatch import org.apache.sshd.common.util.security.SecurityUtils import rx.internal.schedulers.CachedThreadScheduler diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalTestUtils.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalTestUtils.kt index 5055744679..5a1009ab3f 100644 --- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalTestUtils.kt +++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalTestUtils.kt @@ -11,7 +11,6 @@ package net.corda.testing.node.internal import net.corda.client.rpc.CordaRPCClient -import net.corda.client.rpc.CordaRPCClientConfiguration import net.corda.core.CordaException import net.corda.core.concurrent.CordaFuture import net.corda.core.context.InvocationContext @@ -26,10 +25,13 @@ import net.corda.core.utilities.seconds import net.corda.node.services.api.StartedNodeServices import net.corda.node.services.messaging.Message import net.corda.node.services.messaging.MessagingService -import net.corda.testing.driver.NodeHandle +import net.corda.nodeapi.internal.persistence.DatabaseConfig +import net.corda.nodeapi.internal.persistence.TransactionIsolationLevel +import net.corda.testing.database.DatabaseConstants import net.corda.testing.internal.chooseIdentity import net.corda.testing.node.InMemoryMessagingNetwork import net.corda.testing.node.User +import net.corda.testing.node.databaseProviderDataSourceConfig import net.corda.testing.node.testContext import org.slf4j.LoggerFactory import java.net.Socket @@ -127,4 +129,17 @@ internal interface InternalMockMessagingService : MessagingService { fun stop() } -fun CordaRPCClient.start(user: User) = start(user.username, user.password) \ No newline at end of file +/** + * Make properties appropriate for creating a Database for unit tests. + * + * @param nodeName Reflects the "instance" of the in-memory database or database username/schema. + */ +fun makeTestDatabaseProperties(nodeName: String? = null): DatabaseConfig { + val config = databaseProviderDataSourceConfig(nodeName) + val transactionIsolationLevel = if (config.hasPath(DatabaseConstants.TRANSACTION_ISOLATION_LEVEL)) TransactionIsolationLevel.valueOf(config.getString(DatabaseConstants.TRANSACTION_ISOLATION_LEVEL)) + else TransactionIsolationLevel.READ_COMMITTED + val schema = if (config.hasPath(DatabaseConstants.SCHEMA)) config.getString(DatabaseConstants.SCHEMA) else "" + return DatabaseConfig(runMigration = true, transactionIsolationLevel = transactionIsolationLevel, schema = schema) +} + +fun CordaRPCClient.start(user: User) = start(user.username, user.password)