Skip to content

Commit 79a3874

Browse files
committed
Remove unused code
1 parent 08f554e commit 79a3874

File tree

4 files changed

+116
-69
lines changed

4 files changed

+116
-69
lines changed

client/internal/lazyconn/activity/listener.go

Lines changed: 0 additions & 28 deletions
This file was deleted.

client/internal/lazyconn/activity/listener_test.go

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package activity
2+
3+
import (
4+
"net"
5+
"net/netip"
6+
"testing"
7+
"time"
8+
9+
log "github.com/sirupsen/logrus"
10+
"github.com/stretchr/testify/assert"
11+
"github.com/stretchr/testify/require"
12+
13+
"github.com/netbirdio/netbird/client/internal/lazyconn"
14+
)
15+
16+
func TestUDPListener_Creation(t *testing.T) {
17+
mockIface := &MocWGIface{}
18+
19+
peer := &MocPeer{PeerID: "testPeer1"}
20+
cfg := lazyconn.PeerConfig{
21+
PublicKey: peer.PeerID,
22+
PeerConnID: peer.ConnID(),
23+
AllowedIPs: []netip.Prefix{netip.MustParsePrefix("100.64.0.2/32")},
24+
Log: log.WithField("peer", "testPeer1"),
25+
}
26+
27+
listener, err := NewUDPListener(mockIface, cfg)
28+
require.NoError(t, err)
29+
require.NotNil(t, listener.conn)
30+
require.NotNil(t, listener.endpoint)
31+
32+
readPacketsDone := make(chan struct{})
33+
go func() {
34+
listener.ReadPackets()
35+
close(readPacketsDone)
36+
}()
37+
38+
listener.Close()
39+
40+
select {
41+
case <-readPacketsDone:
42+
case <-time.After(2 * time.Second):
43+
t.Fatal("timeout waiting for ReadPackets to exit after Close")
44+
}
45+
}
46+
47+
func TestUDPListener_ActivityDetection(t *testing.T) {
48+
mockIface := &MocWGIface{}
49+
50+
peer := &MocPeer{PeerID: "testPeer1"}
51+
cfg := lazyconn.PeerConfig{
52+
PublicKey: peer.PeerID,
53+
PeerConnID: peer.ConnID(),
54+
AllowedIPs: []netip.Prefix{netip.MustParsePrefix("100.64.0.2/32")},
55+
Log: log.WithField("peer", "testPeer1"),
56+
}
57+
58+
listener, err := NewUDPListener(mockIface, cfg)
59+
require.NoError(t, err)
60+
61+
activityDetected := make(chan struct{})
62+
go func() {
63+
listener.ReadPackets()
64+
close(activityDetected)
65+
}()
66+
67+
conn, err := net.Dial("udp", listener.conn.LocalAddr().String())
68+
require.NoError(t, err)
69+
defer conn.Close()
70+
71+
_, err = conn.Write([]byte{0x01, 0x02, 0x03})
72+
require.NoError(t, err)
73+
74+
select {
75+
case <-activityDetected:
76+
case <-time.After(2 * time.Second):
77+
t.Fatal("timeout waiting for activity detection")
78+
}
79+
}
80+
81+
func TestUDPListener_Close(t *testing.T) {
82+
mockIface := &MocWGIface{}
83+
84+
peer := &MocPeer{PeerID: "testPeer1"}
85+
cfg := lazyconn.PeerConfig{
86+
PublicKey: peer.PeerID,
87+
PeerConnID: peer.ConnID(),
88+
AllowedIPs: []netip.Prefix{netip.MustParsePrefix("100.64.0.2/32")},
89+
Log: log.WithField("peer", "testPeer1"),
90+
}
91+
92+
listener, err := NewUDPListener(mockIface, cfg)
93+
require.NoError(t, err)
94+
95+
readPacketsDone := make(chan struct{})
96+
go func() {
97+
listener.ReadPackets()
98+
close(readPacketsDone)
99+
}()
100+
101+
listener.Close()
102+
103+
select {
104+
case <-readPacketsDone:
105+
case <-time.After(2 * time.Second):
106+
t.Fatal("timeout waiting for ReadPackets to exit after Close")
107+
}
108+
109+
assert.True(t, listener.isClosed.Load(), "Listener should be marked as closed")
110+
}

client/internal/lazyconn/activity/manager.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ import (
1616
peerid "github.com/netbirdio/netbird/client/internal/peer/id"
1717
)
1818

19+
// listener defines the contract for activity detection listeners.
20+
type listener interface {
21+
ReadPackets()
22+
Close()
23+
}
24+
1925
type WgInterface interface {
2026
RemovePeer(peerKey string) error
2127
UpdatePeer(peerKey string, allowedIps []netip.Prefix, keepAlive time.Duration, endpoint *net.UDPAddr, preSharedKey *wgtypes.Key) error

0 commit comments

Comments
 (0)