@cryptotaxi247 / kubo / commits / 1c972fed0

updated go-multiaddr-net with tests

License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>

Juan Batiz-Benet committed Jun 19, 2015 at 00:15 UTC 1c972fed0f72fa85a92ac34451dae1bdcb3368cf
3 files changed +71 -1
Godeps/Godeps.json
+1 -1
@@ -155,7 +155,7 @@
155 },
156 {
157 "ImportPath": "github.com/jbenet/go-multiaddr-net",
158 - "Rev": "b9c1a08db09925939424c826885adfd753a8cd13"
158 + "Rev": "6b29a00b65526d23f534813eb5bfa64dfa281e4a"
159 },
160 {
161 "ImportPath": "github.com/jbenet/go-multihash",
Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net/multiaddr/.gitignore new
+1
@@ -0,0 +1 @@
1 +multiaddr
Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net/net_test.go
+69
@@ -365,6 +365,75 @@ func TestIP6LinkLocal(t *testing.T) {
365 }
366 }
367
368 +func TestConvertNetAddr(t *testing.T) {
369 + m1 := newMultiaddr(t, "/ip4/1.2.3.4/tcp/4001")
370 +
371 + n1, err := ToNetAddr(m1)
372 + if err != nil {
373 + t.Fatal(err)
374 + }
375 +
376 + m2, err := FromNetAddr(n1)
377 + if err != nil {
378 + t.Fatal(err)
379 + }
380 +
381 + if m1.String() != m2.String() {
382 + t.Fatal("ToNetAddr + FromNetAddr did not work")
383 + }
384 +}
385 +
386 +func TestWrapNetConn(t *testing.T) {
387 + // test WrapNetConn nil
388 + if _, err := WrapNetConn(nil); err == nil {
389 + t.Error("WrapNetConn(nil) should return an error")
390 + }
391 +
392 + checkErr := func(err error, s string) {
393 + if err != nil {
394 + t.Fatal(s, err)
395 + }
396 + }
397 +
398 + listener, err := net.Listen("tcp", "127.0.0.1:0")
399 + checkErr(err, "failed to listen")
400 +
401 + var wg sync.WaitGroup
402 + defer wg.Wait()
403 + wg.Add(1)
404 + go func() {
405 + defer wg.Done()
406 + cB, err := listener.Accept()
407 + checkErr(err, "failed to accept")
408 + cB.Close()
409 + }()
410 +
411 + cA, err := net.Dial("tcp", listener.Addr().String())
412 + checkErr(err, "failed to dial")
413 + defer cA.Close()
414 +
415 + lmaddr, err := FromNetAddr(cA.LocalAddr())
416 + checkErr(err, "failed to get local addr")
417 + rmaddr, err := FromNetAddr(cA.RemoteAddr())
418 + checkErr(err, "failed to get remote addr")
419 +
420 + mcA, err := WrapNetConn(cA)
421 + checkErr(err, "failed to wrap conn")
422 +
423 + if mcA.LocalAddr().String() != cA.LocalAddr().String() {
424 + t.Error("wrapped conn local addr differs")
425 + }
426 + if mcA.RemoteAddr().String() != cA.RemoteAddr().String() {
427 + t.Error("wrapped conn remote addr differs")
428 + }
429 + if mcA.LocalMultiaddr().String() != lmaddr.String() {
430 + t.Error("wrapped conn local maddr differs")
431 + }
432 + if mcA.RemoteMultiaddr().String() != rmaddr.String() {
433 + t.Error("wrapped conn remote maddr differs")
434 + }
435 +}
436 +
437 func TestAddrMatch(t *testing.T) {
438
439 test := func(m ma.Multiaddr, input, expect []ma.Multiaddr) {