resolve merge conflicts - compilation error, fix integration tests in remote database mode

This commit is contained in:
szymonsztuka 2018-05-01 23:48:13 +01:00
parent b25892e45b
commit 1a616b1063
3 changed files with 21 additions and 5 deletions

View File

@ -41,7 +41,6 @@ import net.corda.testing.common.internal.testNetworkParameters
import net.corda.testing.contracts.DummyContract
import net.corda.testing.core.dummyCommand
import net.corda.testing.core.singleIdentity
import net.corda.testing.driver.PortAllocation
import net.corda.testing.node.TestClock
import net.corda.testing.internal.IntegrationTest
import net.corda.testing.internal.IntegrationTestSchemas
@ -55,7 +54,6 @@ import org.junit.Assert.assertThat
import java.nio.file.Paths
import java.time.Duration
import java.time.Instant
import java.util.*
import java.util.concurrent.ExecutionException
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
@ -75,6 +73,7 @@ class BFTNotaryServiceTests {
@BeforeClass
@JvmStatic
fun before() {
IntegrationTest.globalSetUp() //Enterprise only - remote db setup
mockNet = InternalMockNetwork(listOf("net.corda.testing.contracts"))
val clusterSize = minClusterSize(1)
val started = startBftClusterAndNode(clusterSize, mockNet)
@ -86,6 +85,7 @@ class BFTNotaryServiceTests {
@JvmStatic
fun stopNodes() {
mockNet.stopNodes()
IntegrationTest.globalTearDown() //Enterprise only - remote db cleanup
}
fun startBftClusterAndNode(clusterSize: Int, mockNet: InternalMockNetwork, exposeRaces: Boolean = false): Pair<Party, StartedNode<MockNode>> {
@ -113,17 +113,21 @@ class BFTNotaryServiceTests {
networkParameters.install(mockNet.baseDirectory(node.id))
node.start()
}.last()
return Pair(notaryIdentity, node)
}
}
@Test
fun `detect double spend`() {
node.run {
val issueTx = signInitialTransaction(notary) {
addOutputState(DummyContract.SingleOwnerState(owner = info.singleIdentity()), DummyContract.PROGRAM_ID, AlwaysAcceptAttachmentConstraint)
}
//val latch = CountDownLatch(1)
//latch.await()
database.transaction {
services.recordTransactions(issueTx)
}

View File

@ -12,14 +12,24 @@ import net.corda.node.services.transactions.minClusterSize
import net.corda.testing.contracts.DummyContract
import net.corda.testing.core.dummyCommand
import net.corda.testing.core.singleIdentity
import net.corda.testing.internal.IntegrationTest
import net.corda.testing.internal.IntegrationTestSchemas
import net.corda.testing.node.internal.InternalMockNetwork
import net.corda.testing.node.internal.InternalMockNetwork.MockNode
import net.corda.testing.node.internal.startFlow
import org.junit.After
import org.junit.Before
import org.junit.ClassRule
import org.junit.Test
class BFTSMaRtTests {
class BFTSMaRtTests : IntegrationTest() {
companion object {
@ClassRule
@JvmField
val databaseSchemas = IntegrationTestSchemas("node_0", "node_1", "node_2", "node_3", "node_4", "node_5",
"node_6", "node_7", "node_8", "node_9")
}
private lateinit var mockNet: InternalMockNetwork
@Before

View File

@ -17,6 +17,7 @@ import com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException
import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource
import net.corda.core.contracts.StateRef
import net.corda.core.contracts.TimeWindow
import net.corda.core.crypto.SecureHash
import net.corda.core.crypto.sha256
import net.corda.core.flows.NotarisationRequestSignature
@ -44,6 +45,7 @@ class MySQLUniquenessProvider(
metrics: MetricRegistry,
configuration: MySQLConfiguration
) : UniquenessProvider, SingletonSerializeAsToken() {
companion object {
private val log = loggerFor<MySQLUniquenessProvider>()
@ -123,7 +125,7 @@ class MySQLUniquenessProvider(
dataSource.close()
}
override fun commit(states: List<StateRef>, txId: SecureHash, callerIdentity: Party, requestSignature: NotarisationRequestSignature) {
override fun commit(states: List<StateRef>, txId: SecureHash, callerIdentity: Party, requestSignature: NotarisationRequestSignature, timeWindow: TimeWindow?) {
val s = Stopwatch.createStarted()
try {
runWithRetry(CommitAll(states, txId, callerIdentity, requestSignature))