mirror of
https://github.com/coder/coder.git
synced 2026-06-03 04:58:23 +00:00
e801e878ba
When an agent receives a node, it responds with an ACK which is relayed to the client. After the client receives the ACK, it's allowed to begin pinging.
61 lines
1.8 KiB
Go
61 lines
1.8 KiB
Go
package tailnet
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestTunnelStore_Bidir(t *testing.T) {
|
|
t.Parallel()
|
|
p1 := uuid.MustParse("00000001-1111-1111-1111-111111111111")
|
|
p2 := uuid.MustParse("00000002-1111-1111-1111-111111111111")
|
|
uut := newTunnelStore()
|
|
uut.add(p1, p2)
|
|
require.Equal(t, []uuid.UUID{p1}, uut.findTunnelPeers(p2))
|
|
require.Equal(t, []uuid.UUID{p2}, uut.findTunnelPeers(p1))
|
|
uut.remove(p1, p2)
|
|
require.Empty(t, uut.findTunnelPeers(p1))
|
|
require.Empty(t, uut.findTunnelPeers(p2))
|
|
require.Len(t, uut.byDst, 0)
|
|
require.Len(t, uut.bySrc, 0)
|
|
}
|
|
|
|
func TestTunnelStore_RemoveAll(t *testing.T) {
|
|
t.Parallel()
|
|
p1 := uuid.MustParse("00000001-1111-1111-1111-111111111111")
|
|
p2 := uuid.MustParse("00000002-1111-1111-1111-111111111111")
|
|
p3 := uuid.MustParse("00000003-1111-1111-1111-111111111111")
|
|
uut := newTunnelStore()
|
|
uut.add(p1, p2)
|
|
uut.add(p1, p3)
|
|
uut.add(p3, p1)
|
|
require.Len(t, uut.findTunnelPeers(p1), 2)
|
|
require.Len(t, uut.findTunnelPeers(p2), 1)
|
|
require.Len(t, uut.findTunnelPeers(p3), 1)
|
|
uut.removeAll(p1)
|
|
require.Len(t, uut.findTunnelPeers(p1), 1)
|
|
require.Len(t, uut.findTunnelPeers(p2), 0)
|
|
require.Len(t, uut.findTunnelPeers(p3), 1)
|
|
uut.removeAll(p3)
|
|
require.Len(t, uut.findTunnelPeers(p1), 0)
|
|
require.Len(t, uut.findTunnelPeers(p2), 0)
|
|
require.Len(t, uut.findTunnelPeers(p3), 0)
|
|
}
|
|
|
|
func TestTunnelStore_TunnelExists(t *testing.T) {
|
|
t.Parallel()
|
|
p1 := uuid.UUID{1}
|
|
p2 := uuid.UUID{2}
|
|
uut := newTunnelStore()
|
|
require.False(t, uut.tunnelExists(p1, p2))
|
|
require.False(t, uut.tunnelExists(p2, p1))
|
|
uut.add(p1, p2)
|
|
require.True(t, uut.tunnelExists(p1, p2))
|
|
require.True(t, uut.tunnelExists(p2, p1))
|
|
uut.remove(p1, p2)
|
|
require.False(t, uut.tunnelExists(p1, p2))
|
|
require.False(t, uut.tunnelExists(p2, p1))
|
|
}
|