p2p/nat: update tests

This commit is contained in:
Felix Lange 2025-01-23 15:37:13 +01:00
parent ef9f952ab3
commit e3a166d99e
3 changed files with 9 additions and 5 deletions

View file

@ -18,6 +18,7 @@ package nat
import ( import (
"net" "net"
"strings"
"testing" "testing"
"time" "time"
@ -70,7 +71,7 @@ func TestParseStun(t *testing.T) {
natStr string natStr string
want *stun want *stun
}{ }{
{"stun:default", &stun{serverList: stunDefaultServerList}}, {"stun:default", &stun{serverList: strings.Split(stunDefaultServers, "\n")}},
{"stun:1.2.3.4:1234", &stun{serverList: []string{"1.2.3.4:1234"}}}, {"stun:1.2.3.4:1234", &stun{serverList: []string{"1.2.3.4:1234"}}},
} }

View file

@ -34,6 +34,8 @@ var stunDefaultServers string
const requestLimit = 3 const requestLimit = 3
var errSTUNFailed = errors.New("STUN requests failed")
type stun struct { type stun struct {
serverList []string serverList []string
} }
@ -80,7 +82,7 @@ func (s *stun) ExternalIP() (net.IP, error) {
} }
return ip, nil return ip, nil
} }
return nil, errors.New("STUN requests failed") return nil, errSTUNFailed
} }
func (s *stun) randomServers(n int) []string { func (s *stun) randomServers(n int) []string {

View file

@ -15,9 +15,10 @@ func TestNatStun(t *testing.T) {
func TestUnreachedNatServer(t *testing.T) { func TestUnreachedNatServer(t *testing.T) {
stun := &stun{ stun := &stun{
serverList: []string{"1.2.3.4:1234", "1.2.3.4:1234", "1.2.3.4:1234"}, serverList: []string{"198.51.100.2:1234", "198.51.100.5"},
} }
stun.serverList = append(stun.serverList, stunDefaultServerList...)
_, err := stun.ExternalIP() _, err := stun.ExternalIP()
assert.NoError(t, err) if err != errSTUNFailed {
t.Fatal("wrong error:", err)
}
} }