(t *testing.T)
| 606 | } |
| 607 | |
| 608 | func TestNewBasicDERPController_RecvErr(t *testing.T) { |
| 609 | t.Parallel() |
| 610 | fs := make(chan *tailcfg.DERPMap) |
| 611 | logger := testutil.Logger(t) |
| 612 | uut := tailnet.NewBasicDERPController(logger, nil, fakeSetter(fs)) |
| 613 | expectedErr := xerrors.New("a bad thing happened") |
| 614 | fc := fakeDERPClient{ |
| 615 | ch: make(chan *tailcfg.DERPMap), |
| 616 | err: expectedErr, |
| 617 | } |
| 618 | c := uut.New(fc) |
| 619 | ctx := testutil.Context(t, testutil.WaitShort) |
| 620 | err := testutil.TryReceive(ctx, t, c.Wait()) |
| 621 | require.ErrorIs(t, err, expectedErr) |
| 622 | // ensure Close is idempotent |
| 623 | err = c.Close(ctx) |
| 624 | require.NoError(t, err) |
| 625 | } |
| 626 | |
| 627 | type fakeSetter chan *tailcfg.DERPMap |
| 628 |
nothing calls this directly
no test coverage detected