channeldb: add address serialization tests
This commit is contained in:
parent
3738e68ae2
commit
5f1d2524b8
51
channeldb/addr_test.go
Normal file
51
channeldb/addr_test.go
Normal file
@ -0,0 +1,51 @@
|
||||
package channeldb
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"net"
|
||||
"testing"
|
||||
|
||||
"github.com/lightningnetwork/lnd/tor"
|
||||
)
|
||||
|
||||
// TestAddrSerialization tests that the serialization method used by channeldb
|
||||
// for net.Addr's works as intended.
|
||||
func TestAddrSerialization(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
testAddrs := []net.Addr{
|
||||
&net.TCPAddr{
|
||||
IP: net.ParseIP("192.168.1.1"),
|
||||
Port: 12345,
|
||||
},
|
||||
&net.TCPAddr{
|
||||
IP: net.ParseIP("2001:0db8:0000:0000:0000:ff00:0042:8329"),
|
||||
Port: 65535,
|
||||
},
|
||||
&tor.OnionAddr{
|
||||
OnionService: "3g2upl4pq6kufc4m.onion",
|
||||
Port: 9735,
|
||||
},
|
||||
&tor.OnionAddr{
|
||||
OnionService: "vww6ybal4bd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion",
|
||||
Port: 80,
|
||||
},
|
||||
}
|
||||
|
||||
var b bytes.Buffer
|
||||
for _, expectedAddr := range testAddrs {
|
||||
if err := serializeAddr(&b, expectedAddr); err != nil {
|
||||
t.Fatalf("unable to serialize address: %v", err)
|
||||
}
|
||||
|
||||
addr, err := deserializeAddr(&b)
|
||||
if err != nil {
|
||||
t.Fatalf("unable to deserialize address: %v", err)
|
||||
}
|
||||
|
||||
if addr.String() != expectedAddr.String() {
|
||||
t.Fatalf("expected address %v after serialization, "+
|
||||
"got %v", addr, expectedAddr)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user