mirror of
https://github.com/netbirdio/ice.git
synced 2026-05-22 17:10:58 -07:00
Test candidate WriteTo function to return error
When connection is closed
This commit is contained in:
committed by
Steffen Vogel
parent
049d579705
commit
52b8cab92c
@@ -38,6 +38,7 @@ Meelap Shah <meelapshah@gmail.com>
|
||||
Michael MacDonald <github@macdonald.cx>
|
||||
Michael MacDonald <mike.macdonald@savantsystems.com>
|
||||
Mikhail Bragin <misha@wiretrustee.com>
|
||||
Miroslav Šedivý <sedivy.miro@gmail.com>
|
||||
Nevio Vesic <nevio@subspace.com>
|
||||
Ori Bernstein <ori@eigenstate.org>
|
||||
Robert Eperjesi <eperjesi@uber.com>
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package ice
|
||||
|
||||
import (
|
||||
"net"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/pion/logging"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestCandidatePriority(t *testing.T) {
|
||||
@@ -337,3 +340,43 @@ func TestCandidateMarshal(t *testing.T) {
|
||||
assert.Equal(t, test.marshaled, actualCandidate.Marshal())
|
||||
}
|
||||
}
|
||||
|
||||
func TestCandidateWriteTo(t *testing.T) {
|
||||
listener, err := net.ListenTCP("tcp", &net.TCPAddr{
|
||||
IP: net.IP{127, 0, 0, 1},
|
||||
Port: 0,
|
||||
})
|
||||
require.NoError(t, err, "error creating test tcp listener")
|
||||
|
||||
conn, err := net.DialTCP("tcp", nil, listener.Addr().(*net.TCPAddr))
|
||||
require.NoError(t, err, "error dialing test tcp conn")
|
||||
|
||||
loggerFactory := logging.NewDefaultLoggerFactory()
|
||||
packetConn := newTCPPacketConn(tcpPacketParams{
|
||||
ReadBuffer: 2048,
|
||||
Logger: loggerFactory.NewLogger("tcp-packet-conn"),
|
||||
})
|
||||
|
||||
err = packetConn.AddConn(conn, nil)
|
||||
require.NoError(t, err, "error adding test tcp conn to packet conn")
|
||||
|
||||
c1 := &candidateBase{
|
||||
conn: packetConn,
|
||||
currAgent: &Agent{
|
||||
log: loggerFactory.NewLogger("agent"),
|
||||
},
|
||||
}
|
||||
|
||||
c2 := &candidateBase{
|
||||
resolvedAddr: listener.Addr(),
|
||||
}
|
||||
|
||||
_, err = c1.writeTo([]byte("test"), c2)
|
||||
assert.NoError(t, err, "writing to open conn")
|
||||
|
||||
err = packetConn.Close()
|
||||
require.NoError(t, err, "error closing test tcp conn")
|
||||
|
||||
_, err = c1.writeTo([]byte("test"), c2)
|
||||
assert.Error(t, err, "writing to closed conn")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user