mirror of
https://github.com/corda/corda.git
synced 2025-05-14 14:32:51 +00:00
Upgrade integration test for CORDA-1356 to run in database mode (#899)
Add SQL setup to run integration test in database mode, add ordering in test because original assumption that rows are returned as inserted doesn't work in Oracle db, ensure distinct names when starting nodes (they can't clash in database mode, as the schema name is taken from node name).
This commit is contained in:
parent
71d8586e61
commit
63f11d0b54
@ -6,14 +6,29 @@ import net.corda.core.messaging.startFlow
|
|||||||
import net.corda.core.utilities.getOrThrow
|
import net.corda.core.utilities.getOrThrow
|
||||||
import net.corda.finance.flows.CashException
|
import net.corda.finance.flows.CashException
|
||||||
import net.corda.node.services.Permissions.Companion.all
|
import net.corda.node.services.Permissions.Companion.all
|
||||||
|
import net.corda.testing.core.ALICE_NAME
|
||||||
|
import net.corda.testing.core.BOB_NAME
|
||||||
|
import net.corda.testing.core.DUMMY_BANK_A_NAME
|
||||||
|
import net.corda.testing.core.DUMMY_NOTARY_NAME
|
||||||
import net.corda.testing.driver.DriverParameters
|
import net.corda.testing.driver.DriverParameters
|
||||||
import net.corda.testing.driver.driver
|
import net.corda.testing.driver.driver
|
||||||
|
import net.corda.testing.internal.IntegrationTest
|
||||||
|
import net.corda.testing.internal.IntegrationTestSchemas
|
||||||
|
import net.corda.testing.internal.toDatabaseSchemaName
|
||||||
import net.corda.testing.node.User
|
import net.corda.testing.node.User
|
||||||
import org.assertj.core.api.Assertions.assertThat
|
import org.assertj.core.api.Assertions.assertThat
|
||||||
import org.assertj.core.api.Assertions.assertThatThrownBy
|
import org.assertj.core.api.Assertions.assertThatThrownBy
|
||||||
|
import org.junit.ClassRule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
class CashExceptionSerialisationTest {
|
class CashExceptionSerialisationTest : IntegrationTest() {
|
||||||
|
companion object {
|
||||||
|
@ClassRule
|
||||||
|
@JvmField
|
||||||
|
val databaseSchemas = IntegrationTestSchemas(*listOf(ALICE_NAME, BOB_NAME, DUMMY_BANK_A_NAME, DUMMY_NOTARY_NAME)
|
||||||
|
.map { it.toDatabaseSchemaName() }.toTypedArray())
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `cash exception with a cause can be serialised with AMQP`() {
|
fun `cash exception with a cause can be serialised with AMQP`() {
|
||||||
driver(DriverParameters(startNodesInProcess = true)) {
|
driver(DriverParameters(startNodesInProcess = true)) {
|
||||||
|
@ -25,10 +25,7 @@ import net.corda.node.internal.NodeStartup
|
|||||||
import net.corda.node.services.Permissions.Companion.startFlow
|
import net.corda.node.services.Permissions.Companion.startFlow
|
||||||
import net.corda.nodeapi.exceptions.InternalNodeException
|
import net.corda.nodeapi.exceptions.InternalNodeException
|
||||||
import net.corda.testing.common.internal.ProjectStructure.projectRootDir
|
import net.corda.testing.common.internal.ProjectStructure.projectRootDir
|
||||||
import net.corda.testing.core.ALICE_NAME
|
import net.corda.testing.core.*
|
||||||
import net.corda.testing.core.BOB_NAME
|
|
||||||
import net.corda.testing.core.DUMMY_BANK_A_NAME
|
|
||||||
import net.corda.testing.core.DUMMY_NOTARY_NAME
|
|
||||||
import net.corda.testing.driver.DriverParameters
|
import net.corda.testing.driver.DriverParameters
|
||||||
import net.corda.testing.driver.NodeHandle
|
import net.corda.testing.driver.NodeHandle
|
||||||
import net.corda.testing.driver.NodeParameters
|
import net.corda.testing.driver.NodeParameters
|
||||||
@ -52,8 +49,7 @@ class BootTests : IntegrationTest() {
|
|||||||
companion object {
|
companion object {
|
||||||
@ClassRule
|
@ClassRule
|
||||||
@JvmField
|
@JvmField
|
||||||
val databaseSchemas = IntegrationTestSchemas(*listOf(ALICE_NAME, BOB_NAME, DUMMY_BANK_A_NAME, DUMMY_NOTARY_NAME)
|
val databaseSchemas = IntegrationTestSchemas(ALICE_NAME.toDatabaseSchemaName(), BOB_NAME.toDatabaseSchemaName(), DUMMY_NOTARY_NAME.toDatabaseSchemaName())
|
||||||
.map { it.toDatabaseSchemaName() }.toTypedArray())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -68,7 +64,7 @@ class BootTests : IntegrationTest() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
driver {
|
driver {
|
||||||
val devModeNode = startNode(params).getOrThrow()
|
val devModeNode = startNode(params, BOB_NAME).getOrThrow()
|
||||||
val node = startNode(ALICE_NAME, devMode = false, parameters = params).getOrThrow()
|
val node = startNode(ALICE_NAME, devMode = false, parameters = params).getOrThrow()
|
||||||
|
|
||||||
assertThatThrownBy { devModeNode.attemptJavaDeserialization() }.isInstanceOf(CordaRuntimeException::class.java)
|
assertThatThrownBy { devModeNode.attemptJavaDeserialization() }.isInstanceOf(CordaRuntimeException::class.java)
|
||||||
|
@ -37,8 +37,7 @@ class RpcExceptionHandlingTest : IntegrationTest() {
|
|||||||
companion object {
|
companion object {
|
||||||
@ClassRule
|
@ClassRule
|
||||||
@JvmField
|
@JvmField
|
||||||
val databaseSchemas = IntegrationTestSchemas(*listOf(ALICE_NAME, BOB_NAME, DUMMY_BANK_A_NAME, DUMMY_BANK_B_NAME, DUMMY_NOTARY_NAME)
|
val databaseSchemas = IntegrationTestSchemas(ALICE_NAME.toDatabaseSchemaName(), BOB_NAME.toDatabaseSchemaName(), DUMMY_NOTARY_NAME.toDatabaseSchemaName())
|
||||||
.map { it.toDatabaseSchemaName() }.toTypedArray())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private val user = User("mark", "dadada", setOf(Permissions.all()))
|
private val user = User("mark", "dadada", setOf(Permissions.all()))
|
||||||
@ -63,8 +62,8 @@ class RpcExceptionHandlingTest : IntegrationTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) {
|
driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) {
|
||||||
val devModeNode = startNode(params).getOrThrow()
|
val devModeNode = startNode(params, BOB_NAME).getOrThrow()
|
||||||
val node = startNode(DUMMY_BANK_B_NAME, devMode = false, parameters = params).getOrThrow()
|
val node = startNode(ALICE_NAME, devMode = false, parameters = params).getOrThrow()
|
||||||
|
|
||||||
assertThatThrownExceptionIsReceivedUnwrapped(devModeNode)
|
assertThatThrownExceptionIsReceivedUnwrapped(devModeNode)
|
||||||
assertThatThrownExceptionIsReceivedUnwrapped(node)
|
assertThatThrownExceptionIsReceivedUnwrapped(node)
|
||||||
@ -82,8 +81,8 @@ class RpcExceptionHandlingTest : IntegrationTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) {
|
driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) {
|
||||||
val devModeNode = startNode(params).getOrThrow()
|
val devModeNode = startNode(params, BOB_NAME).getOrThrow()
|
||||||
val node = startNode(DUMMY_BANK_B_NAME, devMode = false, parameters = params).getOrThrow()
|
val node = startNode(ALICE_NAME, devMode = false, parameters = params).getOrThrow()
|
||||||
|
|
||||||
assertThatThrownBy { devModeNode.throwExceptionFromFlow() }.isInstanceOfSatisfying(FlowException::class.java) { exception ->
|
assertThatThrownBy { devModeNode.throwExceptionFromFlow() }.isInstanceOfSatisfying(FlowException::class.java) { exception ->
|
||||||
|
|
||||||
|
@ -1194,7 +1194,8 @@ abstract class VaultQueryTestsBase : VaultQueryParties {
|
|||||||
vaultFiller.fillWithSomeTestLinearStates(1, linearNumber = it.toLong(), linearString = it.toString())
|
vaultFiller.fillWithSomeTestLinearStates(1, linearNumber = it.toLong(), linearString = it.toString())
|
||||||
}
|
}
|
||||||
val max = builder { DummyLinearStateSchemaV1.PersistentDummyLinearState::linearTimestamp.max(
|
val max = builder { DummyLinearStateSchemaV1.PersistentDummyLinearState::linearTimestamp.max(
|
||||||
groupByColumns = listOf(DummyLinearStateSchemaV1.PersistentDummyLinearState::linearNumber)
|
groupByColumns = listOf(DummyLinearStateSchemaV1.PersistentDummyLinearState::linearNumber),
|
||||||
|
orderBy = Sort.Direction.ASC
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
val maxCriteria = VaultCustomQueryCriteria(max)
|
val maxCriteria = VaultCustomQueryCriteria(max)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user