mirror of
https://github.com/tailscale/tailscale.git
synced 2025-06-23 08:38:39 +00:00
37 lines
953 B
Go
37 lines
953 B
Go
![]() |
// Copyright (c) Tailscale Inc & AUTHORS
|
||
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
||
|
package magicsock
|
||
|
|
||
|
import (
|
||
|
"net/netip"
|
||
|
"testing"
|
||
|
|
||
|
"tailscale.com/types/key"
|
||
|
)
|
||
|
|
||
|
func Test_peerMap_oneRelayEpAddrPerNK(t *testing.T) {
|
||
|
pm := newPeerMap()
|
||
|
nk := key.NewNode().Public()
|
||
|
ep := &endpoint{
|
||
|
nodeID: 1,
|
||
|
publicKey: nk,
|
||
|
}
|
||
|
ed := &endpointDisco{key: key.NewDisco().Public()}
|
||
|
ep.disco.Store(ed)
|
||
|
pm.upsertEndpoint(ep, key.DiscoPublic{})
|
||
|
vni := virtualNetworkID{}
|
||
|
vni.set(1)
|
||
|
relayEpAddrA := epAddr{ap: netip.MustParseAddrPort("127.0.0.1:1"), vni: vni}
|
||
|
relayEpAddrB := epAddr{ap: netip.MustParseAddrPort("127.0.0.1:2"), vni: vni}
|
||
|
pm.setNodeKeyForEpAddr(relayEpAddrA, nk)
|
||
|
pm.setNodeKeyForEpAddr(relayEpAddrB, nk)
|
||
|
if len(pm.byEpAddr) != 1 {
|
||
|
t.Fatalf("expected 1 epAddr in byEpAddr, got: %d", len(pm.byEpAddr))
|
||
|
}
|
||
|
got := pm.relayEpAddrByNodeKey[nk]
|
||
|
if got != relayEpAddrB {
|
||
|
t.Fatalf("expected relay epAddr %v, got: %v", relayEpAddrB, got)
|
||
|
}
|
||
|
}
|