diff --git a/core/core.go b/core/core.go index 0a9db055a9e..60cf1fc5ff0 100644 --- a/core/core.go +++ b/core/core.go @@ -56,6 +56,7 @@ type IpfsNode struct { // the name system, resolves paths to hashes // Namesys *namesys.Namesys + } // NewIpfsNode constructs a new IpfsNode based on the given config. @@ -77,8 +78,8 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { var ( net *swarm.Swarm // TODO: refactor so we can use IpfsRouting interface instead of being DHT-specific - route* dht.IpfsDHT - swap *bitswap.BitSwap + route *dht.IpfsDHT + swap *bitswap.BitSwap ) if online { @@ -134,7 +135,7 @@ func initIdentity(cfg *config.Config) (*peer.Peer, error) { return nil, err } - addresses = []*ma.Multiaddr{ maddr } + addresses = []*ma.Multiaddr{maddr} } skb, err := base64.StdEncoding.DecodeString(cfg.Identity.PrivKey) diff --git a/daemon/daemon_test.go b/daemon/daemon_test.go new file mode 100644 index 00000000000..e901a7ef396 --- /dev/null +++ b/daemon/daemon_test.go @@ -0,0 +1,65 @@ +package daemon + +import ( + "encoding/base64" + "testing" + + config "github.com/jbenet/go-ipfs/config" + core "github.com/jbenet/go-ipfs/core" + ci "github.com/jbenet/go-ipfs/crypto" + identify "github.com/jbenet/go-ipfs/identify" +) + +func TestDaemonListener(t *testing.T) { + + priv, pub, err := ci.GenerateKeyPair(ci.RSA, 512) + if err != nil { + t.Fatal(err) + } + prbytes, err := priv.Bytes() + if err != nil { + t.Fatal(err) + } + + ident, _ := identify.IDFromPubKey(pub) + privKey := base64.StdEncoding.EncodeToString(prbytes) + pID := ident.Pretty() + + id := &config.Identity{ + PeerID: pID, + Address: "/ip4/127.0.0.1/tcp/8000", + PrivKey: privKey, + } + + nodeConfigs := []*config.Config{ + &config.Config{ + Identity: id, + Datastore: config.Datastore{ + Type: "memory", + }, + }, + + &config.Config{ + Identity: id, + Datastore: config.Datastore{ + Type: "leveldb", + Path: ".testdb", + }, + }, + } + + for _, c := range nodeConfigs { + + node, _ := core.NewIpfsNode(c, false) + dl, initErr := NewDaemonListener(node, "localhost:1327") + if initErr != nil { + t.Fatal(initErr) + } + closeErr := dl.Close() + if closeErr != nil { + t.Fatal(closeErr) + } + + } + +} diff --git a/routing/dht/providers_test.go b/routing/dht/providers_test.go index 0cdfa4fcc78..8620bc88073 100644 --- a/routing/dht/providers_test.go +++ b/routing/dht/providers_test.go @@ -12,9 +12,14 @@ func TestProviderManager(t *testing.T) { p := NewProviderManager(mid) a := u.Key("test") p.AddProvider(a, &peer.Peer{}) - resp := p.GetProviders(a) - if len(resp) != 1 { - t.Fatal("Could not retrieve provider.") + remotePeers := p.GetProviders(a) + localPeers := p.GetLocal() + if len(remotePeers) != 1 { + t.Fatal("Could not retrieve remote provider.") } + if len(localPeers) != 1 { + t.Fatal("Could not retrieve local provider.") + } + p.Halt() }