@@ -17,11 +17,14 @@
|
||||
package io.emeraldpay.dshackle.config
|
||||
|
||||
import io.emeraldpay.dshackle.Chain
|
||||
import io.emeraldpay.dshackle.FileResolver
|
||||
import spock.lang.Specification
|
||||
|
||||
class ChainsConfigReaderSpec extends Specification {
|
||||
|
||||
ChainsConfigReader reader = new ChainsConfigReader()
|
||||
ChainsConfigReader reader = new ChainsConfigReader(
|
||||
new UpstreamsConfigReader(Stub(FileResolver))
|
||||
)
|
||||
|
||||
def "Parse standard config"() {
|
||||
setup:
|
||||
@@ -41,6 +44,7 @@ class ChainsConfigReaderSpec extends Specification {
|
||||
|
||||
opt.laggingLagSize == 3
|
||||
opt.syncingLagSize == 20
|
||||
opt.options.validatePeers == false
|
||||
|
||||
sep.laggingLagSize == 1
|
||||
sep.syncingLagSize == 10
|
||||
|
||||
@@ -10,20 +10,20 @@ internal class ChainsConfigTest {
|
||||
fun patch() {
|
||||
val orig = ChainsConfig(
|
||||
mapOf(
|
||||
Chain.BITCOIN to ChainsConfig.RawChainConfig(0, 0),
|
||||
Chain.ETHEREUM to ChainsConfig.RawChainConfig(1, 2),
|
||||
Chain.POLYGON to ChainsConfig.RawChainConfig(3, 4)
|
||||
Chain.BITCOIN to createRawChainConfig(0, 0),
|
||||
Chain.ETHEREUM to createRawChainConfig(1, 2),
|
||||
Chain.POLYGON to createRawChainConfig(3, 4)
|
||||
),
|
||||
ChainsConfig.RawChainConfig(1, 2)
|
||||
createRawChainConfig(1, 2)
|
||||
)
|
||||
|
||||
val patch = ChainsConfig(
|
||||
mapOf(
|
||||
Chain.BITCOIN to ChainsConfig.RawChainConfig(null, 10000),
|
||||
Chain.POLYGON to ChainsConfig.RawChainConfig(10, 11),
|
||||
Chain.ARBITRUM to ChainsConfig.RawChainConfig(999, 999)
|
||||
Chain.BITCOIN to createRawChainConfig(null, 10000),
|
||||
Chain.POLYGON to createRawChainConfig(10, 11),
|
||||
Chain.ARBITRUM to createRawChainConfig(999, 999)
|
||||
),
|
||||
ChainsConfig.RawChainConfig(100, null)
|
||||
createRawChainConfig(100, null)
|
||||
)
|
||||
|
||||
val res = orig.patch(patch)
|
||||
@@ -31,14 +31,21 @@ internal class ChainsConfigTest {
|
||||
assertEquals(
|
||||
ChainsConfig(
|
||||
mapOf(
|
||||
Chain.BITCOIN to ChainsConfig.RawChainConfig(0, 10000),
|
||||
Chain.ETHEREUM to ChainsConfig.RawChainConfig(1, 2),
|
||||
Chain.POLYGON to ChainsConfig.RawChainConfig(10, 11),
|
||||
Chain.ARBITRUM to ChainsConfig.RawChainConfig(999, 999)
|
||||
Chain.BITCOIN to createRawChainConfig(0, 10000),
|
||||
Chain.ETHEREUM to createRawChainConfig(1, 2),
|
||||
Chain.POLYGON to createRawChainConfig(10, 11),
|
||||
Chain.ARBITRUM to createRawChainConfig(999, 999)
|
||||
),
|
||||
ChainsConfig.RawChainConfig(100, 2)
|
||||
createRawChainConfig(100, 2)
|
||||
),
|
||||
res
|
||||
)
|
||||
}
|
||||
|
||||
private fun createRawChainConfig(syncingLagSize: Int?, laggingLagSize: Int?) =
|
||||
ChainsConfig.RawChainConfig()
|
||||
.apply {
|
||||
this.syncingLagSize = syncingLagSize
|
||||
this.laggingLagSize = laggingLagSize
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user