Skip to content
This repository was archived by the owner on Sep 7, 2022. It is now read-only.

Commit df759ca

Browse files
authored
Merge pull request #21 from petroav/add-tests
test: add unit tests
2 parents ba2074b + 9ec4cc7 commit df759ca

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

loggables_test.go

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package loggables
2+
3+
import (
4+
"errors"
5+
ic "github.com/libp2p/go-libp2p-crypto"
6+
peer "github.com/libp2p/go-libp2p-peer"
7+
8+
"crypto/rand"
9+
ma "github.com/multiformats/go-multiaddr"
10+
"net"
11+
"testing"
12+
)
13+
14+
func TestNetConn(t *testing.T) {
15+
connA, _ := net.Pipe()
16+
loggable := NetConn(connA)
17+
if _, ok := loggable.Loggable()["localAddr"]; !ok {
18+
t.Fatalf("loggable missing localAddr")
19+
}
20+
if _, ok := loggable.Loggable()["remoteAddr"]; !ok {
21+
t.Fatalf("loggable missing remoteAddr")
22+
}
23+
}
24+
25+
func TestError(t *testing.T) {
26+
loggable := Error(errors.New("test"))
27+
if _, ok := loggable.Loggable()["error"]; !ok {
28+
t.Fatalf("loggable missing error")
29+
}
30+
}
31+
32+
func TestUuid(t *testing.T) {
33+
loggable := Uuid("testKey")
34+
if _, ok := loggable.Loggable()["testKey"]; !ok {
35+
t.Fatalf("loggable does not contain expected key")
36+
}
37+
}
38+
39+
func TestDial(t *testing.T) {
40+
leftPriv, _, _ := ic.GenerateECDSAKeyPair(rand.Reader)
41+
lid, err := peer.IDFromPrivateKey(leftPriv)
42+
if err != nil {
43+
t.Fatalf("failed to create leftId: %s", err.Error())
44+
}
45+
rightPriv, _, _ := ic.GenerateECDSAKeyPair(rand.Reader)
46+
rid, err := peer.IDFromPrivateKey(rightPriv)
47+
if err != nil {
48+
t.Fatalf("failed to create rightId: %s", err.Error())
49+
}
50+
laddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/80")
51+
if err != nil {
52+
t.Fatalf("failed to create laddr: %s", err.Error())
53+
}
54+
raddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/81")
55+
if err != nil {
56+
t.Fatalf("failed to create raddr: %s", err.Error())
57+
}
58+
59+
metadata := Dial("test", lid, rid, laddr, raddr)
60+
loggable := metadata.Loggable()
61+
62+
expected := [][]string{
63+
{"localPeer", lid.Pretty()},
64+
{"localAddr", laddr.String()},
65+
{"remotePeer", rid.Pretty()},
66+
{"remoteAddr", raddr.String()},
67+
}
68+
for _, tuple := range expected {
69+
if actual, ok := loggable[tuple[0]]; !ok || actual != tuple[1] {
70+
t.Fatalf("Expected %s but got %s", tuple[1], actual)
71+
}
72+
}
73+
74+
}

0 commit comments

Comments
 (0)