From 0c7ff7b0a820953f49c076651f7a8b02aaf11cfa Mon Sep 17 00:00:00 2001 From: Jeromy <jeromyj@gmail.com> Date: Sat, 4 Oct 2014 07:24:57 +0000 Subject: [PATCH] add skeleton for ipns test, to be finished when there is a mock core.IpfsNode --- fuse/ipns/ipns_test.go | 62 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 fuse/ipns/ipns_test.go diff --git a/fuse/ipns/ipns_test.go b/fuse/ipns/ipns_test.go new file mode 100644 index 00000000..4e8d5f43 --- /dev/null +++ b/fuse/ipns/ipns_test.go @@ -0,0 +1,62 @@ +package ipns + +import ( + "crypto/rand" + "os" + "testing" + + fstest "github.com/jbenet/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs/fstestutil" +) + +func randBytes(size int) []byte { + b := make([]byte, size) + rand.Read(b) + return b +} + +func TestIpnsBasicIO(t *testing.T) { + fs, err := NewIpns(nil, "") + if err != nil { + t.Fatal(err) + } + mnt, err := fstest.MountedT(t, fs) + if err != nil { + t.Fatal(err) + } + + data := randBytes(12345) + fi, err := os.Create(mnt.Dir + "/local/testfile") + if err != nil { + t.Fatal(err) + } + + n, err := fi.Write(data) + if err != nil { + t.Fatal(err) + } + + if n != len(data) { + t.Fatal("Didnt write proper amount!") + } + + fi.Close() + + //TODO: maybe wait for the publish to happen? or not, should test both cases + + fi, err = os.Open(mnt.Dir + "/local/testfile") + if err != nil { + t.Fatal(err) + } + + rbuf := make([]byte, len(data)) + n, err = fi.Read(rbuf) + if err != nil { + t.Fatal(err) + } + + if n != len(rbuf) { + t.Fatal("Failed to read correct amount!") + } + + fi.Close() +} -- GitLab