mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-03 14:03:10 +00:00
* fix branch names in gitmodules that were pointing to non-existant branches (allows running `git submodule update --remote` to find out-of-date submodules) * make sure commits from canonical branches are used for submodules * "small" library bumps that deal with small correctness issues, memory leaks, threading fixes and other general performance/bugfixing * metrics: make it work better with multithreading, which makes debugging easier * stew: more compile-time support and an assortment of other fixes * taskpools: block invalid use of GC types at compile time * nimcrypto: accelerated sha2 * upraises: remove submodule
47 lines
1.7 KiB
Nim
47 lines
1.7 KiB
Nim
import std/[unittest, options, net]
|
|
import pkg/chronos
|
|
import pkg/libp2p/[multiaddress, multihash, multicodec]
|
|
import pkg/results
|
|
|
|
import ../../codex/nat
|
|
import ../../codex/utils/natutils
|
|
import ../../codex/utils
|
|
|
|
suite "NAT Address Tests":
|
|
test "nattedAddress with local addresses":
|
|
# Setup test data
|
|
let
|
|
udpPort = Port(1234)
|
|
natConfig = NatConfig(hasExtIp: true, extIp: parseIpAddress("8.8.8.8"))
|
|
|
|
# Create test addresses
|
|
localAddr = MultiAddress.init("/ip4/127.0.0.1/tcp/5000").expect("valid multiaddr")
|
|
anyAddr = MultiAddress.init("/ip4/0.0.0.0/tcp/5000").expect("valid multiaddr")
|
|
publicAddr =
|
|
MultiAddress.init("/ip4/192.168.1.1/tcp/5000").expect("valid multiaddr")
|
|
|
|
# Expected results
|
|
let
|
|
expectedDiscoveryAddrs =
|
|
@[
|
|
MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"),
|
|
MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"),
|
|
MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"),
|
|
]
|
|
expectedlibp2pAddrs =
|
|
@[
|
|
MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"),
|
|
MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"),
|
|
MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"),
|
|
]
|
|
|
|
#ipv6Addr = MultiAddress.init("/ip6/::1/tcp/5000").expect("valid multiaddr")
|
|
addrs = @[localAddr, anyAddr, publicAddr]
|
|
|
|
# Test address remapping
|
|
let (libp2pAddrs, discoveryAddrs) = nattedAddress(natConfig, addrs, udpPort)
|
|
|
|
# Verify results
|
|
check(discoveryAddrs == expectedDiscoveryAddrs)
|
|
check(libp2pAddrs == expectedlibp2pAddrs)
|