mirror of
https://github.com/corda/corda.git
synced 2025-06-18 15:18:16 +00:00
Changing network parameters to use node info files instead of by hand… (#288)
* Changing network parameters to use node info files instead of by hand specification of notary * Addressing review comments * Different names for notaries * Updating README
This commit is contained in:
@ -1,21 +1,56 @@
|
||||
package com.r3.corda.networkmanage
|
||||
|
||||
import com.r3.corda.networkmanage.doorman.NetworkParametersConfiguration
|
||||
import com.r3.corda.networkmanage.doorman.NotaryConfiguration
|
||||
import com.r3.corda.networkmanage.doorman.parseNetworkParameters
|
||||
import com.r3.corda.networkmanage.doorman.parseNetworkParametersFrom
|
||||
import net.corda.core.utilities.days
|
||||
import com.typesafe.config.ConfigFactory
|
||||
import net.corda.core.identity.CordaX500Name
|
||||
import net.corda.core.internal.copyTo
|
||||
import net.corda.core.internal.deleteIfExists
|
||||
import net.corda.core.serialization.serialize
|
||||
import net.corda.testing.SerializationEnvironmentRule
|
||||
import net.corda.testing.internal.createNodeInfoAndSigned
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.assertj.core.api.Assertions.assertThatThrownBy
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import java.io.File
|
||||
import org.junit.rules.TemporaryFolder
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
import java.time.Instant
|
||||
|
||||
class NetworkParametersConfigurationTest {
|
||||
|
||||
private val validOverrideNetworkConfigPath = File("network-parameters.conf").toPath()
|
||||
@Rule
|
||||
@JvmField
|
||||
val tempFolder = TemporaryFolder()
|
||||
|
||||
@Rule
|
||||
@JvmField
|
||||
val testSerialization = SerializationEnvironmentRule()
|
||||
|
||||
private fun generateNetworkParametersConfiguration() = NetworkParametersConfiguration(
|
||||
notaries = listOf(
|
||||
NotaryConfiguration(generateNodeInfoFile("Test1"), true),
|
||||
NotaryConfiguration(generateNodeInfoFile("Test2"), false)
|
||||
),
|
||||
maxMessageSize = 100,
|
||||
maxTransactionSize = 100,
|
||||
minimumPlatformVersion = 1
|
||||
)
|
||||
|
||||
private fun generateNodeInfoFile(organisation: String): Path {
|
||||
val (_, signedNodeInfo) = createNodeInfoAndSigned(CordaX500Name(organisation, "Madrid", "ES"))
|
||||
val path = tempFolder.newFile().toPath()
|
||||
path.deleteIfExists()
|
||||
signedNodeInfo.serialize().open().copyTo(path)
|
||||
return path
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `reads an existing file`() {
|
||||
val networkParameters = parseNetworkParametersFrom(validOverrideNetworkConfigPath)
|
||||
val networkParameters = parseNetworkParameters(generateNetworkParametersConfiguration())
|
||||
assertThat(networkParameters.minimumPlatformVersion).isEqualTo(1)
|
||||
val notaries = networkParameters.notaries
|
||||
assertThat(notaries).hasSize(2)
|
||||
|
Reference in New Issue
Block a user