|
7 | 7 | "net/netip" |
8 | 8 | "sync/atomic" |
9 | 9 | "testing" |
10 | | - "time" |
11 | 10 |
|
12 | 11 | "github.com/google/gopacket/layers" |
13 | 12 | "github.com/stretchr/testify/require" |
|
29 | 28 |
|
30 | 29 | func TestRouterReturnTTLExceed(t *testing.T) { |
31 | 30 | muxer := newMockMuxer(0) |
32 | | - routerEnabled := &routerEnabledChecker{} |
33 | | - routerEnabled.set(true) |
34 | | - router := NewPacketRouter(packetConfig, muxer, &noopLogger, routerEnabled.isEnabled) |
| 31 | + router := NewPacketRouter(packetConfig, muxer, &noopLogger) |
35 | 32 | ctx, cancel := context.WithCancel(context.Background()) |
36 | 33 | routerStopped := make(chan struct{}) |
37 | 34 | go func() { |
@@ -80,65 +77,6 @@ func TestRouterReturnTTLExceed(t *testing.T) { |
80 | 77 | <-routerStopped |
81 | 78 | } |
82 | 79 |
|
83 | | -func TestRouterCheckEnabled(t *testing.T) { |
84 | | - muxer := newMockMuxer(0) |
85 | | - routerEnabled := &routerEnabledChecker{} |
86 | | - router := NewPacketRouter(packetConfig, muxer, &noopLogger, routerEnabled.isEnabled) |
87 | | - ctx, cancel := context.WithCancel(context.Background()) |
88 | | - routerStopped := make(chan struct{}) |
89 | | - go func() { |
90 | | - router.Serve(ctx) |
91 | | - close(routerStopped) |
92 | | - }() |
93 | | - |
94 | | - pk := packet.ICMP{ |
95 | | - IP: &packet.IP{ |
96 | | - Src: netip.MustParseAddr("192.168.1.1"), |
97 | | - Dst: netip.MustParseAddr("10.0.0.1"), |
98 | | - Protocol: layers.IPProtocolICMPv4, |
99 | | - TTL: 1, |
100 | | - }, |
101 | | - Message: &icmp.Message{ |
102 | | - Type: ipv4.ICMPTypeEcho, |
103 | | - Code: 0, |
104 | | - Body: &icmp.Echo{ |
105 | | - ID: 12481, |
106 | | - Seq: 8036, |
107 | | - Data: []byte(t.Name()), |
108 | | - }, |
109 | | - }, |
110 | | - } |
111 | | - |
112 | | - // router is disabled |
113 | | - encoder := packet.NewEncoder() |
114 | | - encodedPacket, err := encoder.Encode(&pk) |
115 | | - require.NoError(t, err) |
116 | | - sendPacket := quicpogs.RawPacket(encodedPacket) |
117 | | - |
118 | | - muxer.edgeToCfd <- sendPacket |
119 | | - select { |
120 | | - case <-time.After(time.Millisecond * 10): |
121 | | - case <-muxer.cfdToEdge: |
122 | | - t.Error("Unexpected reply when router is disabled") |
123 | | - } |
124 | | - routerEnabled.set(true) |
125 | | - // router is enabled, expects reply |
126 | | - muxer.edgeToCfd <- sendPacket |
127 | | - <-muxer.cfdToEdge |
128 | | - |
129 | | - routerEnabled.set(false) |
130 | | - // router is disabled |
131 | | - muxer.edgeToCfd <- sendPacket |
132 | | - select { |
133 | | - case <-time.After(time.Millisecond * 10): |
134 | | - case <-muxer.cfdToEdge: |
135 | | - t.Error("Unexpected reply when router is disabled") |
136 | | - } |
137 | | - |
138 | | - cancel() |
139 | | - <-routerStopped |
140 | | -} |
141 | | - |
142 | 80 | func assertTTLExceed(t *testing.T, originalPacket *packet.ICMP, expectedSrc netip.Addr, muxer *mockMuxer) { |
143 | 81 | encoder := packet.NewEncoder() |
144 | 82 | rawPacket, err := encoder.Encode(originalPacket) |
|
0 commit comments