Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

91 lines
2.3 KiB
Nim
Raw Normal View History

2026-06-05 18:25:19 +04:00
import std/net
import pkg/questionable/results
import ../asynctest
import ./helpers
import ../../storage/conf
2026-06-05 18:58:26 +04:00
import ../../storage/nat
2026-06-05 18:25:19 +04:00
proc validConfig(): StorageConf =
StorageConf(
nat: defaultNatConfig(),
natMaxQueueSize: 3,
natNumPeersToAsk: 5,
natMinConfidence: 0.7,
)
suite "Conf - validateAutonatConfig":
test "accepts a valid config":
check validConfig().validateAutonatConfig().isOk
test "rejects autonat server without extip":
var config = validConfig()
config.autonatServer = true
check config.validateAutonatConfig().isErr
test "accepts autonat server with extip":
var config = validConfig()
config.autonatServer = true
2026-06-05 18:58:26 +04:00
config.nat = nat.NatConfig(hasExtIp: true, extIp: parseIpAddress("1.2.3.4"))
2026-06-05 18:25:19 +04:00
check config.validateAutonatConfig().isOk
test "rejects relay server without extip":
var config = validConfig()
config.isRelayServer = true
check config.validateAutonatConfig().isErr
test "accepts relay server with extip":
var config = validConfig()
config.isRelayServer = true
2026-06-05 18:58:26 +04:00
config.nat = nat.NatConfig(hasExtIp: true, extIp: parseIpAddress("1.2.3.4"))
2026-06-05 18:25:19 +04:00
check config.validateAutonatConfig().isOk
test "rejects nat-max-queue-size below 1":
var config = validConfig()
config.natMaxQueueSize = 0
check config.validateAutonatConfig().isErr
test "accepts nat-max-queue-size of 1":
var config = validConfig()
config.natMaxQueueSize = 1
check config.validateAutonatConfig().isOk
test "rejects nat-num-peers-to-ask below 1":
var config = validConfig()
config.natNumPeersToAsk = 0
check config.validateAutonatConfig().isErr
test "accepts nat-num-peers-to-ask of 1":
var config = validConfig()
config.natNumPeersToAsk = 1
check config.validateAutonatConfig().isOk
test "rejects negative nat-min-confidence":
var config = validConfig()
config.natMinConfidence = -0.1
check config.validateAutonatConfig().isErr
test "rejects nat-min-confidence above 1":
var config = validConfig()
config.natMinConfidence = 1.1
check config.validateAutonatConfig().isErr
test "accepts nat-min-confidence bounds":
var config = validConfig()
config.natMinConfidence = 0.0
check config.validateAutonatConfig().isOk
config.natMinConfidence = 1.0
check config.validateAutonatConfig().isOk