(t *testing.T)
| 359 | } |
| 360 | |
| 361 | func TestNodeUpdater_setAddresses_different(t *testing.T) { |
| 362 | t.Parallel() |
| 363 | ctx := testutil.Context(t, testutil.WaitShort) |
| 364 | logger := testutil.Logger(t) |
| 365 | id := tailcfg.NodeID(1) |
| 366 | nodeKey := key.NewNode().Public() |
| 367 | discoKey := key.NewDisco().Public() |
| 368 | nodeCh := make(chan *Node) |
| 369 | uut := newNodeUpdater( |
| 370 | logger, |
| 371 | func(n *Node) { |
| 372 | nodeCh <- n |
| 373 | }, |
| 374 | id, nodeKey, discoKey, |
| 375 | ) |
| 376 | defer uut.close() |
| 377 | |
| 378 | // Given: preferred DERP is 1, so we'll send an update |
| 379 | uut.L.Lock() |
| 380 | uut.preferredDERP = 1 |
| 381 | uut.L.Unlock() |
| 382 | |
| 383 | // When: we set addresses |
| 384 | addrs := []netip.Prefix{netip.MustParsePrefix("192.168.0.200/32")} |
| 385 | uut.setAddresses(addrs) |
| 386 | |
| 387 | // Then: we receive an update with the addresses |
| 388 | node := testutil.TryReceive(ctx, t, nodeCh) |
| 389 | require.Equal(t, nodeKey, node.Key) |
| 390 | require.Equal(t, discoKey, node.DiscoKey) |
| 391 | require.Equal(t, addrs, node.Addresses) |
| 392 | require.Equal(t, addrs, node.AllowedIPs) |
| 393 | |
| 394 | done := make(chan struct{}) |
| 395 | go func() { |
| 396 | defer close(done) |
| 397 | uut.close() |
| 398 | }() |
| 399 | _ = testutil.TryReceive(ctx, t, done) |
| 400 | } |
| 401 | |
| 402 | func TestNodeUpdater_setAddresses_same(t *testing.T) { |
| 403 | t.Parallel() |
nothing calls this directly
no test coverage detected