mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-28 08:47:42 +08:00
add skeleton for ipns test, to be finished when there is a mock core.IpfsNode
This commit is contained in:
62
fuse/ipns/ipns_test.go
Normal file
62
fuse/ipns/ipns_test.go
Normal file
@ -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()
|
||||
}
|
Reference in New Issue
Block a user