aboutsummaryrefslogtreecommitdiffstats
path: root/swarm/api/filesystem_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'swarm/api/filesystem_test.go')
-rw-r--r--swarm/api/filesystem_test.go53
1 files changed, 26 insertions, 27 deletions
diff --git a/swarm/api/filesystem_test.go b/swarm/api/filesystem_test.go
index 8a15e735d..915dc4e0b 100644
--- a/swarm/api/filesystem_test.go
+++ b/swarm/api/filesystem_test.go
@@ -21,7 +21,6 @@ import (
"io/ioutil"
"os"
"path/filepath"
- "sync"
"testing"
"github.com/ethereum/go-ethereum/common"
@@ -30,9 +29,9 @@ import (
var testDownloadDir, _ = ioutil.TempDir(os.TempDir(), "bzz-test")
-func testFileSystem(t *testing.T, f func(*FileSystem)) {
- testApi(t, func(api *Api) {
- f(NewFileSystem(api))
+func testFileSystem(t *testing.T, f func(*FileSystem, bool)) {
+ testAPI(t, func(api *API, toEncrypt bool) {
+ f(NewFileSystem(api), toEncrypt)
})
}
@@ -47,9 +46,9 @@ func readPath(t *testing.T, parts ...string) string {
}
func TestApiDirUpload0(t *testing.T) {
- testFileSystem(t, func(fs *FileSystem) {
+ testFileSystem(t, func(fs *FileSystem, toEncrypt bool) {
api := fs.api
- bzzhash, err := fs.Upload(filepath.Join("testdata", "test0"), "")
+ bzzhash, err := fs.Upload(filepath.Join("testdata", "test0"), "", toEncrypt)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
@@ -63,8 +62,8 @@ func TestApiDirUpload0(t *testing.T) {
exp = expResponse(content, "text/css", 0)
checkResponse(t, resp, exp)
- key := storage.Key(common.Hex2Bytes(bzzhash))
- _, _, _, err = api.Get(key, "")
+ addr := storage.Address(common.Hex2Bytes(bzzhash))
+ _, _, _, _, err = api.Get(addr, "")
if err == nil {
t.Fatalf("expected error: %v", err)
}
@@ -75,27 +74,28 @@ func TestApiDirUpload0(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
- newbzzhash, err := fs.Upload(downloadDir, "")
+ newbzzhash, err := fs.Upload(downloadDir, "", toEncrypt)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
- if bzzhash != newbzzhash {
+ // TODO: currently the hash is not deterministic in the encrypted case
+ if !toEncrypt && bzzhash != newbzzhash {
t.Fatalf("download %v reuploaded has incorrect hash, expected %v, got %v", downloadDir, bzzhash, newbzzhash)
}
})
}
func TestApiDirUploadModify(t *testing.T) {
- testFileSystem(t, func(fs *FileSystem) {
+ testFileSystem(t, func(fs *FileSystem, toEncrypt bool) {
api := fs.api
- bzzhash, err := fs.Upload(filepath.Join("testdata", "test0"), "")
+ bzzhash, err := fs.Upload(filepath.Join("testdata", "test0"), "", toEncrypt)
if err != nil {
t.Errorf("unexpected error: %v", err)
return
}
- key := storage.Key(common.Hex2Bytes(bzzhash))
- key, err = api.Modify(key, "index.html", "", "")
+ addr := storage.Address(common.Hex2Bytes(bzzhash))
+ addr, err = api.Modify(addr, "index.html", "", "")
if err != nil {
t.Errorf("unexpected error: %v", err)
return
@@ -105,24 +105,23 @@ func TestApiDirUploadModify(t *testing.T) {
t.Errorf("unexpected error: %v", err)
return
}
- wg := &sync.WaitGroup{}
- hash, err := api.Store(bytes.NewReader(index), int64(len(index)), wg)
- wg.Wait()
+ hash, wait, err := api.Store(bytes.NewReader(index), int64(len(index)), toEncrypt)
+ wait()
if err != nil {
t.Errorf("unexpected error: %v", err)
return
}
- key, err = api.Modify(key, "index2.html", hash.Hex(), "text/html; charset=utf-8")
+ addr, err = api.Modify(addr, "index2.html", hash.Hex(), "text/html; charset=utf-8")
if err != nil {
t.Errorf("unexpected error: %v", err)
return
}
- key, err = api.Modify(key, "img/logo.png", hash.Hex(), "text/html; charset=utf-8")
+ addr, err = api.Modify(addr, "img/logo.png", hash.Hex(), "text/html; charset=utf-8")
if err != nil {
t.Errorf("unexpected error: %v", err)
return
}
- bzzhash = key.String()
+ bzzhash = addr.Hex()
content := readPath(t, "testdata", "test0", "index.html")
resp := testGet(t, api, bzzhash, "index2.html")
@@ -138,7 +137,7 @@ func TestApiDirUploadModify(t *testing.T) {
exp = expResponse(content, "text/css", 0)
checkResponse(t, resp, exp)
- _, _, _, err = api.Get(key, "")
+ _, _, _, _, err = api.Get(addr, "")
if err == nil {
t.Errorf("expected error: %v", err)
}
@@ -146,9 +145,9 @@ func TestApiDirUploadModify(t *testing.T) {
}
func TestApiDirUploadWithRootFile(t *testing.T) {
- testFileSystem(t, func(fs *FileSystem) {
+ testFileSystem(t, func(fs *FileSystem, toEncrypt bool) {
api := fs.api
- bzzhash, err := fs.Upload(filepath.Join("testdata", "test0"), "index.html")
+ bzzhash, err := fs.Upload(filepath.Join("testdata", "test0"), "index.html", toEncrypt)
if err != nil {
t.Errorf("unexpected error: %v", err)
return
@@ -162,9 +161,9 @@ func TestApiDirUploadWithRootFile(t *testing.T) {
}
func TestApiFileUpload(t *testing.T) {
- testFileSystem(t, func(fs *FileSystem) {
+ testFileSystem(t, func(fs *FileSystem, toEncrypt bool) {
api := fs.api
- bzzhash, err := fs.Upload(filepath.Join("testdata", "test0", "index.html"), "")
+ bzzhash, err := fs.Upload(filepath.Join("testdata", "test0", "index.html"), "", toEncrypt)
if err != nil {
t.Errorf("unexpected error: %v", err)
return
@@ -178,9 +177,9 @@ func TestApiFileUpload(t *testing.T) {
}
func TestApiFileUploadWithRootFile(t *testing.T) {
- testFileSystem(t, func(fs *FileSystem) {
+ testFileSystem(t, func(fs *FileSystem, toEncrypt bool) {
api := fs.api
- bzzhash, err := fs.Upload(filepath.Join("testdata", "test0", "index.html"), "index.html")
+ bzzhash, err := fs.Upload(filepath.Join("testdata", "test0", "index.html"), "index.html", toEncrypt)
if err != nil {
t.Errorf("unexpected error: %v", err)
return