mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-01 05:27:18 +00:00
e5df8c50d3
* style: nph setup * chore: formates codex/ and tests/ folder with nph 0.6.1
47 lines
1.7 KiB
Nim
47 lines
1.7 KiB
Nim
import std/[unittest, options, net], stew/shims/net as stewNet
|
|
import pkg/chronos
|
|
import pkg/libp2p/[multiaddress, multihash, multicodec]
|
|
import pkg/stew/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)
|