github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/daemon/daemon_test.go (about) 1 package daemon 2 3 import ( 4 "encoding/base64" 5 "os" 6 "testing" 7 8 ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr" 9 config "github.com/jbenet/go-ipfs/config" 10 core "github.com/jbenet/go-ipfs/core" 11 ci "github.com/jbenet/go-ipfs/crypto" 12 peer "github.com/jbenet/go-ipfs/peer" 13 ) 14 15 func TestInitializeDaemonListener(t *testing.T) { 16 17 priv, pub, err := ci.GenerateKeyPair(ci.RSA, 512) 18 if err != nil { 19 t.Fatal(err) 20 } 21 prbytes, err := priv.Bytes() 22 if err != nil { 23 t.Fatal(err) 24 } 25 26 ident, _ := peer.IDFromPubKey(pub) 27 privKey := base64.StdEncoding.EncodeToString(prbytes) 28 pID := ident.Pretty() 29 30 id := config.Identity{ 31 PeerID: pID, 32 PrivKey: privKey, 33 } 34 35 nodeConfigs := []*config.Config{ 36 &config.Config{ 37 Identity: id, 38 Datastore: config.Datastore{ 39 Type: "memory", 40 }, 41 Addresses: config.Addresses{ 42 Swarm: "/ip4/0.0.0.0/tcp/4001", 43 API: "/ip4/127.0.0.1/tcp/8000", 44 }, 45 }, 46 47 &config.Config{ 48 Identity: id, 49 Datastore: config.Datastore{ 50 Type: "leveldb", 51 Path: ".test/datastore", 52 }, 53 Addresses: config.Addresses{ 54 Swarm: "/ip4/0.0.0.0/tcp/4001", 55 API: "/ip4/127.0.0.1/tcp/8000", 56 }, 57 }, 58 } 59 60 var tempConfigDir = ".test" 61 err = os.MkdirAll(tempConfigDir, os.ModeDir|0777) 62 if err != nil { 63 t.Fatalf("error making temp config dir: %v", err) 64 } 65 66 for _, c := range nodeConfigs { 67 68 node, _ := core.NewIpfsNode(c, false) 69 addr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/1327") 70 if err != nil { 71 t.Fatal(err) 72 } 73 74 dl, initErr := NewDaemonListener(node, addr, tempConfigDir) 75 if initErr != nil { 76 t.Fatal(initErr) 77 } 78 79 closeErr := dl.Close() 80 if closeErr != nil { 81 t.Fatal(closeErr) 82 } 83 84 } 85 86 }