Test candidate WriteTo function to return error

When connection is closed
This commit is contained in:
Miroslav Šedivý
2023-01-12 22:09:12 +01:00
committed by Steffen Vogel
parent 049d579705
commit 52b8cab92c
2 changed files with 44 additions and 0 deletions
+1
View File
@@ -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>
+43
View File
@@ -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")
}