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  }