Merge branch 'release/os/4.6' into rfowler-os-4.6-ent-4.6-20200922

This commit is contained in:
Ryan Fowler
2020-09-22 11:42:00 +01:00
49 changed files with 1319 additions and 239 deletions

View File

@ -0,0 +1,16 @@
apply plugin: 'kotlin'
//apply plugin: 'net.corda.plugins.cordapp'
//apply plugin: 'net.corda.plugins.quasar-utils'
dependencies {
compile project(":core")
}
jar {
baseName "testing-missingmigration-cordapp"
manifest {
// This JAR is part of Corda's testing framework.
// Driver will not include it as part of an out-of-process node.
attributes('Corda-Testing': true)
}
}

View File

@ -0,0 +1,24 @@
package net.corda.failtesting.missingmigrationcordapp
import net.corda.core.schemas.MappedSchema
import net.corda.core.schemas.PersistentState
import javax.persistence.Column
import javax.persistence.Entity
import javax.persistence.Table
object MissingMigrationSchema
object MissingMigrationSchemaV1 : MappedSchema(
schemaFamily = MissingMigrationSchema.javaClass,
version = 1,
mappedTypes = listOf(MissingMigrationSchemaV1.TestEntity::class.java)) {
@Entity
@Table(name = "test_table")
class TestEntity(
@Column(name = "random_value")
var randomValue: String
) : PersistentState() {
constructor() : this("")
}
}

View File

@ -0,0 +1,13 @@
package net.corda.failtesting.missingmigrationcordapp
import net.corda.core.flows.FlowLogic
import net.corda.core.flows.InitiatingFlow
import net.corda.core.flows.StartableByRPC
@StartableByRPC
@InitiatingFlow
class SimpleFlow : FlowLogic<Unit>() {
override fun call() {
logger.info("Running simple flow doing nothing")
}
}

View File

@ -0,0 +1,16 @@
package net.corda.failtesting.missingmigrationcordapp
import net.corda.core.identity.AbstractParty
import net.corda.core.schemas.MappedSchema
import net.corda.core.schemas.PersistentState
import net.corda.core.schemas.QueryableState
class TestEntity(val randomValue: String, override val participants: List<AbstractParty>) : QueryableState {
override fun supportedSchemas(): Iterable<MappedSchema> {
return listOf(MissingMigrationSchemaV1)
}
override fun generateMappedObject(schema: MappedSchema): PersistentState {
return MissingMigrationSchemaV1.TestEntity(randomValue)
}
}

View File

@ -0,0 +1,14 @@
apply plugin: 'kotlin'
dependencies {
compile project(":core")
}
jar {
baseName "testing-sleeping-cordapp"
manifest {
// This JAR is part of Corda's testing framework.
// Driver will not include it as part of an out-of-process node.
attributes('Corda-Testing': true)
}
}

View File

@ -0,0 +1,15 @@
package net.corda.sleeping
import co.paralleluniverse.fibers.Suspendable
import net.corda.core.flows.FlowLogic
import net.corda.core.flows.StartableByRPC
import java.time.Duration
@StartableByRPC
class SleepingFlow(private val duration: Duration) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
sleep(duration)
}
}

View File

@ -11,8 +11,14 @@ import net.corda.core.flows.InitiatedBy
import net.corda.core.identity.CordaX500Name
import net.corda.core.identity.Party
import net.corda.core.identity.PartyAndCertificate
import net.corda.core.internal.*
import net.corda.core.internal.FlowIORequest
import net.corda.core.internal.NetworkParametersStorage
import net.corda.core.internal.PLATFORM_VERSION
import net.corda.core.internal.VisibleForTesting
import net.corda.core.internal.createDirectories
import net.corda.core.internal.div
import net.corda.core.internal.notary.NotaryService
import net.corda.core.internal.uncheckedCast
import net.corda.core.messaging.CordaRPCOps
import net.corda.core.messaging.MessageRecipients
import net.corda.core.messaging.RPCOps
@ -25,6 +31,9 @@ import net.corda.core.utilities.NetworkHostAndPort
import net.corda.core.utilities.contextLogger
import net.corda.core.utilities.hours
import net.corda.core.utilities.seconds
import net.corda.coretesting.internal.rigorousMock
import net.corda.coretesting.internal.stubs.CertificateStoreStubs
import net.corda.coretesting.internal.testThreadFactory
import net.corda.node.VersionInfo
import net.corda.node.internal.AbstractNode
import net.corda.node.internal.InitiatedFlowFactory
@ -32,7 +41,11 @@ import net.corda.node.internal.NodeFlowManager
import net.corda.node.services.api.FlowStarter
import net.corda.node.services.api.ServiceHubInternal
import net.corda.node.services.api.StartedNodeServices
import net.corda.node.services.config.*
import net.corda.node.services.config.FlowTimeoutConfiguration
import net.corda.node.services.config.NetworkParameterAcceptanceSettings
import net.corda.node.services.config.NodeConfiguration
import net.corda.node.services.config.NotaryConfig
import net.corda.node.services.config.VerifierType
import net.corda.node.services.identity.PersistentIdentityService
import net.corda.node.services.keys.BasicHSMKeyManagementService
import net.corda.node.services.keys.KeyManagementServiceInternal
@ -49,11 +62,12 @@ import net.corda.nodeapi.internal.network.NetworkParametersCopier
import net.corda.nodeapi.internal.persistence.CordaPersistence
import net.corda.nodeapi.internal.persistence.DatabaseConfig
import net.corda.testing.common.internal.testNetworkParameters
import net.corda.coretesting.internal.rigorousMock
import net.corda.coretesting.internal.stubs.CertificateStoreStubs
import net.corda.coretesting.internal.testThreadFactory
import net.corda.testing.node.*
import net.corda.testing.node.InMemoryMessagingNetwork
import net.corda.testing.node.MockNetworkNotarySpec
import net.corda.testing.node.MockNetworkParameters
import net.corda.testing.node.MockNodeParameters
import net.corda.testing.node.MockServices.Companion.makeTestDataSourceProperties
import net.corda.testing.node.TestClock
import org.apache.activemq.artemis.utils.ReusableLatch
import org.apache.sshd.common.util.security.SecurityUtils
import rx.Observable
@ -377,7 +391,7 @@ open class InternalMockNetwork(cordappPackages: List<String> = emptyList(),
}
override fun makeMessagingService(): MockNodeMessagingService {
return MockNodeMessagingService(configuration, serverThread).closeOnStop()
return MockNodeMessagingService(configuration, serverThread).closeOnStop(usesDatabase = false)
}
override fun startMessagingService(rpcOps: List<RPCOps>,