MCPcopy
hub / github.com/tailscale/tailscale / TestUserspaceEngineReconfig

Function TestUserspaceEngineReconfig

wgengine/userspace_test.go:46–92  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

44}
45
46func TestUserspaceEngineReconfig(t *testing.T) {
47 bus := eventbustest.NewBus(t)
48
49 ht := health.NewTracker(bus)
50 reg := new(usermetric.Registry)
51 e, err := NewFakeUserspaceEngine(t.Logf, 0, ht, reg, bus)
52 if err != nil {
53 t.Fatal(err)
54 }
55 t.Cleanup(e.Close)
56
57 routerCfg := &router.Config{}
58
59 for _, nodeHex := range []string{
60 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
61 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
62 } {
63 nm := &netmap.NetworkMap{
64 Peers: nodeViews([]*tailcfg.Node{
65 {
66 ID: 1,
67 Key: nkFromHex(nodeHex),
68 },
69 }),
70 }
71 nk, err := key.ParseNodePublicUntyped(mem.S(nodeHex))
72 if err != nil {
73 t.Fatal(err)
74 }
75 cfg := &wgcfg.Config{
76 Peers: []wgcfg.Peer{
77 {
78 PublicKey: nk,
79 AllowedIPs: []netip.Prefix{
80 netip.PrefixFrom(netaddr.IPv4(100, 100, 99, 1), 32),
81 },
82 },
83 },
84 }
85
86 e.SetNetworkMap(nm)
87 err = e.Reconfig(cfg, routerCfg, &dns.Config{})
88 if err != nil {
89 t.Fatal(err)
90 }
91 }
92}
93
94func TestUserspaceEngineTSMPLearned(t *testing.T) {
95 bus := eventbustest.NewBus(t)

Callers

nothing calls this directly

Calls 11

NewBusFunction · 0.92
NewTrackerFunction · 0.92
ParseNodePublicUntypedFunction · 0.92
IPv4Function · 0.92
NewFakeUserspaceEngineFunction · 0.85
nkFromHexFunction · 0.85
nodeViewsFunction · 0.70
FatalMethod · 0.65
CleanupMethod · 0.65
SetNetworkMapMethod · 0.65
ReconfigMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…