Skip to content

Commit e8d0fad

Browse files
committed
Fix more tests.
1 parent db1be10 commit e8d0fad

File tree

3 files changed

+20
-15
lines changed

3 files changed

+20
-15
lines changed

cmd/outline-ss-server/metrics.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,12 @@ func (m *outlineMetrics) SetNumAccessKeys(numKeys int, ports int) {
278278
m.ports.Set(float64(ports))
279279
}
280280

281-
func (m *outlineMetrics) AddOpenTCPConnection(ip net.Addr) {
282-
clientInfo, err := ipinfo.GetIPInfoFromAddr(m.IPInfoMap, ip)
281+
func (m *outlineMetrics) AddOpenTCPConnection(addr net.Addr) {
282+
clientInfo, err := ipinfo.GetIPInfoFromAddr(m.IPInfoMap, addr)
283283
if err != nil {
284284
logger.Warningf("Failed client info lookup: %v", err)
285285
}
286-
logger.Debugf("Got info \"%#v\" for IP %v", clientInfo, ip.String())
286+
logger.Debugf("Got info \"%#v\" for IP %v", clientInfo, addr.String())
287287
m.tcpOpenConnections.WithLabelValues(clientInfo.CountryCode.String(), asnLabel(clientInfo.ASN)).Inc()
288288
}
289289

cmd/outline-ss-server/metrics_test.go

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ import (
2424
"github.com/stretchr/testify/require"
2525
)
2626

27+
type fakeAddr string
28+
29+
func (a fakeAddr) String() string { return string(a) }
30+
func (a fakeAddr) Network() string { return "" }
31+
2732
func TestMethodsDontPanic(t *testing.T) {
2833
ssMetrics := newPrometheusOutlineMetrics(nil, prometheus.NewPedanticRegistry())
2934
proxyMetrics := metrics.ProxyMetrics{
@@ -34,12 +39,12 @@ func TestMethodsDontPanic(t *testing.T) {
3439
}
3540
ssMetrics.SetBuildInfo("0.0.0-test")
3641
ssMetrics.SetNumAccessKeys(20, 2)
37-
ssMetrics.AddOpenTCPConnection(ipinfo.IPInfo{CountryCode: "US", ASN: 100})
38-
ssMetrics.AddClosedTCPConnection(ipinfo.IPInfo{CountryCode: "US", ASN: 100}, "1", "OK", proxyMetrics, 10*time.Millisecond)
42+
ssMetrics.AddOpenTCPConnection(fakeAddr("127.0.0.1:9"))
43+
ssMetrics.AddClosedTCPConnection(fakeAddr("127.0.0.1:9"), "1", "OK", proxyMetrics, 10*time.Millisecond)
3944
ssMetrics.AddUDPPacketFromClient(ipinfo.IPInfo{CountryCode: "US", ASN: 100}, "2", "OK", 10, 20)
4045
ssMetrics.AddUDPPacketFromTarget(ipinfo.IPInfo{CountryCode: "US", ASN: 100}, "3", "OK", 10, 20)
41-
ssMetrics.AddUDPNatEntry()
42-
ssMetrics.RemoveUDPNatEntry()
46+
ssMetrics.AddUDPNatEntry(fakeAddr("127.0.0.1:9"), "key-1")
47+
ssMetrics.RemoveUDPNatEntry(fakeAddr("127.0.0.1:9"), "key-1")
4348
ssMetrics.AddTCPProbe("ERR_CIPHER", "eof", 443, proxyMetrics.ClientProxy)
4449
ssMetrics.AddTCPCipherSearch(true, 10*time.Millisecond)
4550
ssMetrics.AddUDPCipherSearch(true, 10*time.Millisecond)
@@ -54,21 +59,21 @@ func BenchmarkOpenTCP(b *testing.B) {
5459
ssMetrics := newPrometheusOutlineMetrics(nil, prometheus.NewRegistry())
5560
b.ResetTimer()
5661
for i := 0; i < b.N; i++ {
57-
ssMetrics.AddOpenTCPConnection(ipinfo.IPInfo{CountryCode: "ZZ", ASN: 100})
62+
ssMetrics.AddOpenTCPConnection(fakeAddr("127.0.0.1:9"))
5863
}
5964
}
6065

6166
func BenchmarkCloseTCP(b *testing.B) {
6267
ssMetrics := newPrometheusOutlineMetrics(nil, prometheus.NewRegistry())
63-
clientInfo := ipinfo.IPInfo{CountryCode: "ZZ", ASN: 100}
68+
addr := fakeAddr("127.0.0.1:9")
6469
accessKey := "key 1"
6570
status := "OK"
6671
data := metrics.ProxyMetrics{}
6772
timeToCipher := time.Microsecond
6873
duration := time.Minute
6974
b.ResetTimer()
7075
for i := 0; i < b.N; i++ {
71-
ssMetrics.AddClosedTCPConnection(clientInfo, accessKey, status, data, duration)
76+
ssMetrics.AddClosedTCPConnection(addr, accessKey, status, data, duration)
7277
ssMetrics.AddTCPCipherSearch(true, timeToCipher)
7378
}
7479
}
@@ -115,7 +120,7 @@ func BenchmarkNAT(b *testing.B) {
115120
ssMetrics := newPrometheusOutlineMetrics(nil, prometheus.NewRegistry())
116121
b.ResetTimer()
117122
for i := 0; i < b.N; i++ {
118-
ssMetrics.AddUDPNatEntry()
119-
ssMetrics.RemoveUDPNatEntry()
123+
ssMetrics.AddUDPNatEntry(fakeAddr("127.0.0.1:9"), "key-0")
124+
ssMetrics.RemoveUDPNatEntry(fakeAddr("127.0.0.1:9"), "key-0")
120125
}
121126
}

internal/integration_test/integration_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ type statusMetrics struct {
167167
statuses []string
168168
}
169169

170-
func (m *statusMetrics) AddClosedTCPConnection(clientInfo ipinfo.IPInfo, accessKey, status string, data metrics.ProxyMetrics, duration time.Duration) {
170+
func (m *statusMetrics) AddClosedTCPConnection(ip net.Addr, accessKey string, status string, data metrics.ProxyMetrics, duration time.Duration) {
171171
m.Lock()
172172
m.statuses = append(m.statuses, status)
173173
m.Unlock()
@@ -247,10 +247,10 @@ func (m *fakeUDPMetrics) AddUDPPacketFromClient(clientInfo ipinfo.IPInfo, access
247247
func (m *fakeUDPMetrics) AddUDPPacketFromTarget(clientInfo ipinfo.IPInfo, accessKey, status string, targetProxyBytes, proxyClientBytes int) {
248248
m.down = append(m.down, udpRecord{clientInfo, accessKey, status, targetProxyBytes, proxyClientBytes})
249249
}
250-
func (m *fakeUDPMetrics) AddUDPNatEntry() {
250+
func (m *fakeUDPMetrics) AddUDPNatEntry(addr net.Addr, accessKey string) {
251251
m.natAdded++
252252
}
253-
func (m *fakeUDPMetrics) RemoveUDPNatEntry() {
253+
func (m *fakeUDPMetrics) RemoveUDPNatEntry(addr net.Addr, accessKey string) {
254254
// Not tested because it requires waiting for a long timeout.
255255
}
256256
func (m *fakeUDPMetrics) AddUDPCipherSearch(accessKeyFound bool, timeToCipher time.Duration) {}

0 commit comments

Comments
 (0)