mirror of
https://github.com/corda/corda.git
synced 2025-06-23 09:25:36 +00:00
CORDA-2128: Removed SerializationEnvironmentRule.run (#4334)
It exposed the internal SerializationEnvironment class. It previously documented that the SerializationEnvironmentRule JUnit rule should be used instead.
This commit is contained in:
@ -6867,7 +6867,6 @@ public final class net.corda.testing.core.SerializationEnvironmentRule extends j
|
|||||||
public static final net.corda.testing.core.SerializationEnvironmentRule$Companion Companion
|
public static final net.corda.testing.core.SerializationEnvironmentRule$Companion Companion
|
||||||
##
|
##
|
||||||
public static final class net.corda.testing.core.SerializationEnvironmentRule$Companion extends java.lang.Object
|
public static final class net.corda.testing.core.SerializationEnvironmentRule$Companion extends java.lang.Object
|
||||||
public final T run(String, kotlin.jvm.functions.Function1<? super net.corda.core.serialization.internal.SerializationEnvironment, ? extends T>)
|
|
||||||
##
|
##
|
||||||
public final class net.corda.testing.core.TestConstants extends java.lang.Object
|
public final class net.corda.testing.core.TestConstants extends java.lang.Object
|
||||||
@NotNull
|
@NotNull
|
||||||
|
@ -33,7 +33,7 @@ fun ServiceHub.ledger(
|
|||||||
(networkParametersStorage as MockNetworkParametersStorage).setCurrentParametersUnverified(newParameters)
|
(networkParametersStorage as MockNetworkParametersStorage).setCurrentParametersUnverified(newParameters)
|
||||||
}
|
}
|
||||||
|
|
||||||
return withTestSerializationEnvIfNotSet("ledgerDSL") {
|
return withTestSerializationEnvIfNotSet {
|
||||||
val interpreter = TestLedgerDSLInterpreter(this)
|
val interpreter = TestLedgerDSLInterpreter(this)
|
||||||
LedgerDSL(interpreter, notary).apply {
|
LedgerDSL(interpreter, notary).apply {
|
||||||
script()
|
script()
|
||||||
|
@ -32,7 +32,7 @@ class MockNetworkParametersStorage(private var currentParameters: NetworkParamet
|
|||||||
|
|
||||||
override val currentHash: SecureHash
|
override val currentHash: SecureHash
|
||||||
get() {
|
get() {
|
||||||
return withTestSerializationEnvIfNotSet("networkParameters") {
|
return withTestSerializationEnvIfNotSet {
|
||||||
currentParameters.serialize().hash
|
currentParameters.serialize().hash
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -47,12 +47,14 @@ class MockNetworkParametersStorage(private var currentParameters: NetworkParamet
|
|||||||
|
|
||||||
override fun getHistoricNotary(party: Party): NotaryInfo? {
|
override fun getHistoricNotary(party: Party): NotaryInfo? {
|
||||||
val inCurrentParams = currentParameters.notaries.singleOrNull { it.identity == party }
|
val inCurrentParams = currentParameters.notaries.singleOrNull { it.identity == party }
|
||||||
if (inCurrentParams == null) {
|
return if (inCurrentParams == null) {
|
||||||
val inOldParams = hashToParametersMap.flatMap { (_, parameters) ->
|
val inOldParams = hashToParametersMap.flatMap { (_, parameters) ->
|
||||||
parameters.notaries
|
parameters.notaries
|
||||||
}.firstOrNull { it.identity == party }
|
}.firstOrNull { it.identity == party }
|
||||||
return inOldParams
|
inOldParams
|
||||||
} else return inCurrentParams
|
} else {
|
||||||
|
inCurrentParams
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun storeCurrentParameters() {
|
private fun storeCurrentParameters() {
|
||||||
|
@ -4,13 +4,10 @@ import com.nhaarman.mockito_kotlin.any
|
|||||||
import com.nhaarman.mockito_kotlin.doAnswer
|
import com.nhaarman.mockito_kotlin.doAnswer
|
||||||
import com.nhaarman.mockito_kotlin.whenever
|
import com.nhaarman.mockito_kotlin.whenever
|
||||||
import net.corda.core.internal.staticField
|
import net.corda.core.internal.staticField
|
||||||
|
import net.corda.core.serialization.SerializationFactory
|
||||||
import net.corda.core.serialization.internal.SerializationEnvironment
|
import net.corda.core.serialization.internal.SerializationEnvironment
|
||||||
import net.corda.core.serialization.internal.effectiveSerializationEnv
|
import net.corda.core.serialization.internal.effectiveSerializationEnv
|
||||||
import net.corda.testing.common.internal.asContextEnv
|
import net.corda.testing.internal.*
|
||||||
import net.corda.testing.internal.createTestSerializationEnv
|
|
||||||
import net.corda.testing.internal.inVMExecutors
|
|
||||||
import net.corda.testing.internal.rigorousMock
|
|
||||||
import net.corda.testing.internal.testThreadFactory
|
|
||||||
import org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnector
|
import org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnector
|
||||||
import org.junit.rules.TestRule
|
import org.junit.rules.TestRule
|
||||||
import org.junit.runner.Description
|
import org.junit.runner.Description
|
||||||
@ -35,32 +32,16 @@ class SerializationEnvironmentRule(private val inheritable: Boolean = false) : T
|
|||||||
}.whenever(it).execute(any())
|
}.whenever(it).execute(any())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Do not call, instead use [SerializationEnvironmentRule] as a [org.junit.Rule]. */
|
|
||||||
fun <T> run(taskLabel: String, task: (SerializationEnvironment) -> T): T {
|
|
||||||
return SerializationEnvironmentRule().apply { init() }.runTask(task)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private lateinit var env: SerializationEnvironment
|
private lateinit var env: SerializationEnvironment
|
||||||
val serializationFactory get() = env.serializationFactory
|
|
||||||
|
val serializationFactory: SerializationFactory get() = env.serializationFactory
|
||||||
|
|
||||||
override fun apply(base: Statement, description: Description): Statement {
|
override fun apply(base: Statement, description: Description): Statement {
|
||||||
init()
|
|
||||||
return object : Statement() {
|
|
||||||
override fun evaluate() = runTask { base.evaluate() }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun init() {
|
|
||||||
env = createTestSerializationEnv()
|
env = createTestSerializationEnv()
|
||||||
}
|
return object : Statement() {
|
||||||
|
override fun evaluate() = env.asTestContextEnv(inheritable) { base.evaluate() }
|
||||||
private fun <T> runTask(task: (SerializationEnvironment) -> T): T {
|
|
||||||
try {
|
|
||||||
return env.asContextEnv(inheritable, task)
|
|
||||||
} finally {
|
|
||||||
inVMExecutors.remove(env)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ import net.corda.node.serialization.amqp.AMQPServerSerializationScheme
|
|||||||
import net.corda.node.serialization.kryo.KRYO_CHECKPOINT_CONTEXT
|
import net.corda.node.serialization.kryo.KRYO_CHECKPOINT_CONTEXT
|
||||||
import net.corda.node.serialization.kryo.KryoCheckpointSerializer
|
import net.corda.node.serialization.kryo.KryoCheckpointSerializer
|
||||||
import net.corda.serialization.internal.*
|
import net.corda.serialization.internal.*
|
||||||
|
import net.corda.testing.common.internal.asContextEnv
|
||||||
import net.corda.testing.core.SerializationEnvironmentRule
|
import net.corda.testing.core.SerializationEnvironmentRule
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
import java.util.concurrent.ExecutorService
|
import java.util.concurrent.ExecutorService
|
||||||
@ -44,3 +45,10 @@ fun createTestSerializationEnv(): SerializationEnvironment {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun <T> SerializationEnvironment.asTestContextEnv(inheritable: Boolean = false, callable: (SerializationEnvironment) -> T): T {
|
||||||
|
try {
|
||||||
|
return asContextEnv(inheritable, callable)
|
||||||
|
} finally {
|
||||||
|
inVMExecutors.remove(this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -198,7 +198,7 @@ fun fakeAttachment(filePath: String, content: String, manifestAttributes: Map<St
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** If [effectiveSerializationEnv] is not set, runs the block with a new [SerializationEnvironmentRule]. */
|
/** If [effectiveSerializationEnv] is not set, runs the block with a new [SerializationEnvironmentRule]. */
|
||||||
fun <R> withTestSerializationEnvIfNotSet(taskName: String, block: () -> R): R {
|
fun <R> withTestSerializationEnvIfNotSet(block: () -> R): R {
|
||||||
val serializationExists = try {
|
val serializationExists = try {
|
||||||
effectiveSerializationEnv
|
effectiveSerializationEnv
|
||||||
true
|
true
|
||||||
@ -207,7 +207,7 @@ fun <R> withTestSerializationEnvIfNotSet(taskName: String, block: () -> R): R {
|
|||||||
}
|
}
|
||||||
return if (serializationExists) {
|
return if (serializationExists) {
|
||||||
block()
|
block()
|
||||||
} else SerializationEnvironmentRule.run(taskName) {
|
} else {
|
||||||
block()
|
createTestSerializationEnv().asTestContextEnv { block() }
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user