11package networkapi
22
33import (
4+ "fmt"
45 "sync"
56 "testing"
67
@@ -143,16 +144,14 @@ const testCert = "-----BEGIN CERTIFICATE-----\n" +
143144func TestNetworkAPI (t * testing.T ) {
144145 ctx := t .Context ()
145146 var rpc * msgpackrpc.Connection
146- listID , err := tcpListen (ctx , rpc , []any {"localhost:9999" })
147+ listID , err := tcpListen (ctx , rpc , []any {"localhost" , 9999 })
147148 require .Nil (t , err )
148149 require .Equal (t , uint (1 ), listID )
149150
150151 var wg sync.WaitGroup
151- wg .Add (1 )
152- go func () {
152+ wg .Go (func () {
153153 connID , err := tcpConnect (ctx , rpc , []any {"localhost" , uint16 (9999 )})
154154 require .Nil (t , err )
155- require .Equal (t , uint (2 ), connID )
156155
157156 n , err := tcpWrite (ctx , rpc , []any {connID , []byte ("Hello" )})
158157 require .Nil (t , err )
@@ -163,17 +162,12 @@ func TestNetworkAPI(t *testing.T) {
163162 require .Equal (t , "" , res )
164163
165164 res , err = tcpClose (ctx , rpc , []any {connID })
166- require .Equal (t , []any {2 , "Connection not found for ID: 2" }, err )
165+ require .Equal (t , []any {2 , fmt . Sprintf ( "Connection not found for ID: %d" , connID ) }, err )
167166 require .Nil (t , res )
168-
169- wg .Done ()
170- }()
171-
172- wg .Wait ()
167+ })
173168
174169 connID , err := tcpAccept (ctx , rpc , []any {listID })
175170 require .Nil (t , err )
176- require .Equal (t , uint (3 ), connID )
177171
178172 buff , err := tcpRead (ctx , rpc , []any {connID , 3 })
179173 require .Nil (t , err )
@@ -187,16 +181,28 @@ func TestNetworkAPI(t *testing.T) {
187181 require .Equal (t , []any {3 , "Failed to read from connection: EOF" }, err )
188182 require .Nil (t , buff )
189183
190- res , err := tcpClose (ctx , rpc , []any {connID })
184+ res , err := tcpCloseListener (ctx , rpc , []any {connID })
185+ require .Equal (t , []any {2 , fmt .Sprintf ("Listener not found for ID: %d" , connID )}, err )
186+ require .Nil (t , res )
187+
188+ res , err = tcpClose (ctx , rpc , []any {connID })
191189 require .Nil (t , err )
192190 require .Equal (t , "" , res )
193191
194192 res , err = tcpClose (ctx , rpc , []any {listID })
193+ require .Equal (t , []any {2 , fmt .Sprintf ("Connection not found for ID: %d" , listID )}, err )
194+ require .Nil (t , res )
195+
196+ res , err = tcpCloseListener (ctx , rpc , []any {listID })
195197 require .Nil (t , err )
196198 require .Equal (t , "" , res )
197199
198200 res , err = tcpClose (ctx , rpc , []any {listID })
199- require .Equal (t , []any {2 , "Connection not found for ID: 1" }, err )
201+ require .Equal (t , []any {2 , fmt .Sprintf ("Connection not found for ID: %d" , listID )}, err )
202+ require .Nil (t , res )
203+
204+ res , err = tcpCloseListener (ctx , rpc , []any {listID })
205+ require .Equal (t , []any {2 , fmt .Sprintf ("Listener not found for ID: %d" , listID )}, err )
200206 require .Nil (t , res )
201207
202208 // Test SSL connection
@@ -212,4 +218,6 @@ func TestNetworkAPI(t *testing.T) {
212218 connIDSSL , err = tcpConnectSSL (ctx , rpc , []any {"www.arduino.cc" , uint16 (443 ), testCert })
213219 require .Equal (t , []any {2 , "Failed to connect to server: tls: failed to verify certificate: x509: certificate signed by unknown authority" }, err )
214220 require .Nil (t , connIDSSL )
221+
222+ wg .Wait ()
215223}
0 commit comments