1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-02-03 13:11:53 +02:00

Add a test for jaeger udp client (#1137)

This commit is contained in:
Sam Xie 2020-09-09 06:38:17 +08:00 committed by GitHub
parent 224629bd0b
commit bc1a59274f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -460,3 +460,43 @@ func TestResolvedUDPConnChanges(t *testing.T) {
resolver.AssertExpectations(t)
dialer.AssertExpectations(t)
}
func TestResolvedUDPConnLoopWithoutChanges(t *testing.T) {
hostPort := "blahblah:34322"
mockServer, clientConn, err := newUDPConn()
require.NoError(t, err)
defer mockServer.Close()
mockUDPAddr := newMockUDPAddr(t, 34322)
resolver := mockResolver{}
resolver.
On("ResolveUDPAddr", "udp", hostPort).
Return(mockUDPAddr, nil)
dialer := mockDialer{}
dialer.
On("DialUDP", "udp", (*net.UDPAddr)(nil), mockUDPAddr).
Return(clientConn, nil).
Once()
resolveTimeout := 500 * time.Millisecond
conn, err := newReconnectingUDPConn(hostPort, udpPacketMaxLength, resolveTimeout, resolver.ResolveUDPAddr, dialer.DialUDP, nil)
assert.NoError(t, err)
require.NotNil(t, conn)
assert.Equal(t, mockUDPAddr, conn.destAddr)
// Waiting for one round of loop
time.Sleep(3 * resolveTimeout)
assert.Equal(t, mockUDPAddr, conn.destAddr)
err = conn.Close()
assert.NoError(t, err)
// assert the actual connection was closed
assert.Error(t, clientConn.Close())
resolver.AssertExpectations(t)
dialer.AssertExpectations(t)
}