github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/namesys/resolve_test.go (about)

     1  package namesys
     2  
     3  import (
     4  	"testing"
     5  
     6  	context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
     7  	key "github.com/ipfs/go-ipfs/blocks/key"
     8  	path "github.com/ipfs/go-ipfs/path"
     9  	mockrouting "github.com/ipfs/go-ipfs/routing/mock"
    10  	u "github.com/ipfs/go-ipfs/util"
    11  	testutil "github.com/ipfs/go-ipfs/util/testutil"
    12  )
    13  
    14  func TestRoutingResolve(t *testing.T) {
    15  	d := mockrouting.NewServer().Client(testutil.RandIdentityOrFatal(t))
    16  
    17  	resolver := NewRoutingResolver(d)
    18  	publisher := NewRoutingPublisher(d)
    19  
    20  	privk, pubk, err := testutil.RandTestKeyPair(512)
    21  	if err != nil {
    22  		t.Fatal(err)
    23  	}
    24  
    25  	h := path.FromString("/ipfs/QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN")
    26  	err = publisher.Publish(context.Background(), privk, h)
    27  	if err != nil {
    28  		t.Fatal(err)
    29  	}
    30  
    31  	pubkb, err := pubk.Bytes()
    32  	if err != nil {
    33  		t.Fatal(err)
    34  	}
    35  
    36  	pkhash := u.Hash(pubkb)
    37  	res, err := resolver.Resolve(context.Background(), key.Key(pkhash).Pretty())
    38  	if err != nil {
    39  		t.Fatal(err)
    40  	}
    41  
    42  	if res != h {
    43  		t.Fatal("Got back incorrect value.")
    44  	}
    45  }