TODO: instead of reusing one conn for each suite, maybe we should make a new one for each subtest?
(t *testing.T, _ slog.Logger, serverURL *url.URL, conn *tailnet.Conn, _, peer Client)
| 45 | // TODO: instead of reusing one conn for each suite, maybe we should make a new |
| 46 | // one for each subtest? |
| 47 | func TestSuite(t *testing.T, _ slog.Logger, serverURL *url.URL, conn *tailnet.Conn, _, peer Client) { |
| 48 | t.Parallel() |
| 49 | |
| 50 | t.Run("Connectivity", func(t *testing.T) { |
| 51 | t.Parallel() |
| 52 | peerIP := tailnet.TailscaleServicePrefix.AddrFromUUID(peer.ID) |
| 53 | _, _, _, err := conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 54 | require.NoError(t, err, "ping peer") |
| 55 | }) |
| 56 | |
| 57 | t.Run("RestartDERP", func(t *testing.T) { |
| 58 | peerIP := tailnet.TailscaleServicePrefix.AddrFromUUID(peer.ID) |
| 59 | _, _, _, err := conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 60 | require.NoError(t, err, "ping peer") |
| 61 | sendRestart(t, serverURL, true, false) |
| 62 | _, _, _, err = conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 63 | require.NoError(t, err, "ping peer after derp restart") |
| 64 | }) |
| 65 | |
| 66 | t.Run("RestartCoordinator", func(t *testing.T) { |
| 67 | peerIP := tailnet.TailscaleServicePrefix.AddrFromUUID(peer.ID) |
| 68 | _, _, _, err := conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 69 | require.NoError(t, err, "ping peer") |
| 70 | sendRestart(t, serverURL, false, true) |
| 71 | _, _, _, err = conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 72 | require.NoError(t, err, "ping peer after coordinator restart") |
| 73 | }) |
| 74 | |
| 75 | t.Run("RestartBoth", func(t *testing.T) { |
| 76 | peerIP := tailnet.TailscaleServicePrefix.AddrFromUUID(peer.ID) |
| 77 | _, _, _, err := conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 78 | require.NoError(t, err, "ping peer") |
| 79 | sendRestart(t, serverURL, true, true) |
| 80 | _, _, _, err = conn.Ping(testutil.Context(t, testutil.WaitLong), peerIP) |
| 81 | require.NoError(t, err, "ping peer after restart") |
| 82 | }) |
| 83 | } |
| 84 | |
| 85 | func TestBigUDP(t *testing.T, logger slog.Logger, _ *url.URL, conn *tailnet.Conn, _, peer Client) { |
| 86 | t.Run("UDPEcho", func(t *testing.T) { |
nothing calls this directly
no test coverage detected