github.com/piotrnar/gocoin@v0.0.0-20240512203912-faa0448c5e96/client/network/peersdb/peerdb_test.go (about) 1 package peersdb 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/piotrnar/gocoin/lib/others/qdb" 8 ) 9 10 func test_one_addr(t *testing.T, host string, ip [4]byte, port uint16) { 11 var p *PeerAddr 12 var e error 13 p, e = NewAddrFromString(host, false) 14 15 if e != nil { 16 t.Fatal(e.Error(), host, port, Testnet) 17 } 18 if p.Ip4 != ip { 19 t.Error("Bad IP4 returned", host, port, Testnet) 20 } 21 if p.Services != Services { 22 t.Error("Bad Services returned", host, port, Testnet) 23 } 24 if p.Port != port { 25 t.Error("Bad port returned", host, port, Testnet) 26 } 27 28 p, e = NewAddrFromString(host+":1234", true) 29 if e != nil { 30 t.Fatal(e.Error(), host, port, Testnet) 31 } 32 if p.Ip4 != ip { 33 t.Error("Bad IP4 returned", host, port, Testnet) 34 } 35 if p.Services != Services { 36 t.Error("Bad Services returned", host, port, Testnet) 37 } 38 if p.Port != port { 39 t.Error("Bad port returned", host, port, Testnet) 40 } 41 42 p, e = NewAddrFromString(host+":1234", false) 43 if e != nil { 44 t.Fatal(e.Error(), host, port, Testnet) 45 } 46 if p.Ip4 != ip { 47 t.Error("Bad IP4 returned", host, port, Testnet) 48 } 49 if p.Services != Services { 50 t.Error("Bad Services returned", host, port, Testnet) 51 } 52 if p.Port != 1234 { 53 t.Error("Bad port returned", host, port, Testnet) 54 } 55 56 p, e = NewAddrFromString(host+":123456", false) 57 if e == nil { 58 t.Error("Error expected as port number too high", host, port, Testnet) 59 } 60 61 p, e = NewAddrFromString(host+":123456", true) 62 if e != nil { 63 t.Error("No Error expected as port number to be ignored", host, port, Testnet) 64 } 65 } 66 67 func TestNewAddrFromString(t *testing.T) { 68 PeerDB, _ = qdb.NewDB("tmpdir", true) 69 70 // mainnet 71 Testnet = false 72 test_one_addr(t, "slask.gocoin.pl", [4]byte{178, 19, 104, 218}, 8333) 73 test_one_addr(t, "1.2.3.4", [4]byte{1, 2, 3, 4}, 8333) 74 75 // Testnet 76 Testnet = true 77 test_one_addr(t, "kaja.gocoin.pl", [4]byte{195, 136, 152, 164}, 18333) 78 test_one_addr(t, "255.254.253.252", [4]byte{255, 254, 253, 252}, 18333) 79 80 var e error 81 _, e = NewAddrFromString("1.2.3.4.5", false) 82 if e == nil { 83 println("error expected") 84 } 85 86 _, e = NewAddrFromString("1.2.3.256", false) 87 if e == nil { 88 println("error expected") 89 } 90 PeerDB.Close() 91 os.RemoveAll("tmpdir") 92 }