aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/swarm/upload_test.go
diff options
context:
space:
mode:
authorAnton Evangelatov <anton.evangelatov@gmail.com>2018-11-19 21:57:22 +0800
committerGitHub <noreply@github.com>2018-11-19 21:57:22 +0800
commit6b6c4d1c2754f8dd70172ab58d7ee33cf9058c7d (patch)
tree894902776d7f1211c0095baab6dc1c29ac157c78 /cmd/swarm/upload_test.go
parent3333fe660f00b519a9d16398ca3801ab9313be16 (diff)
downloaddexon-6b6c4d1c2754f8dd70172ab58d7ee33cf9058c7d.tar.gz
dexon-6b6c4d1c2754f8dd70172ab58d7ee33cf9058c7d.tar.zst
dexon-6b6c4d1c2754f8dd70172ab58d7ee33cf9058c7d.zip
cmd/swarm: speed up tests - use global cluster (#18129)
Diffstat (limited to 'cmd/swarm/upload_test.go')
-rw-r--r--cmd/swarm/upload_test.go91
1 files changed, 44 insertions, 47 deletions
diff --git a/cmd/swarm/upload_test.go b/cmd/swarm/upload_test.go
index 5f9844950..616486e37 100644
--- a/cmd/swarm/upload_test.go
+++ b/cmd/swarm/upload_test.go
@@ -31,8 +31,7 @@ import (
"time"
"github.com/ethereum/go-ethereum/log"
- swarm "github.com/ethereum/go-ethereum/swarm/api/client"
- swarmhttp "github.com/ethereum/go-ethereum/swarm/api/http"
+ swarmapi "github.com/ethereum/go-ethereum/swarm/api/client"
"github.com/ethereum/go-ethereum/swarm/testutil"
"github.com/mattn/go-colorable"
)
@@ -42,42 +41,50 @@ func init() {
log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(*loglevel), log.StreamHandler(colorable.NewColorableStderr(), log.TerminalFormat(true))))
}
-// TestCLISwarmUp tests that running 'swarm up' makes the resulting file
-// available from all nodes via the HTTP API
-func TestCLISwarmUp(t *testing.T) {
+func TestSwarmUp(t *testing.T) {
if runtime.GOOS == "windows" {
t.Skip()
}
- testCLISwarmUp(false, t)
-}
-func TestCLISwarmUpRecursive(t *testing.T) {
- if runtime.GOOS == "windows" {
- t.Skip()
+ initCluster(t)
+
+ cases := []struct {
+ name string
+ f func(t *testing.T)
+ }{
+ {"NoEncryption", testNoEncryption},
+ {"Encrypted", testEncrypted},
+ {"RecursiveNoEncryption", testRecursiveNoEncryption},
+ {"RecursiveEncrypted", testRecursiveEncrypted},
+ {"DefaultPathAll", testDefaultPathAll},
+ }
+
+ for _, tc := range cases {
+ t.Run(tc.name, tc.f)
}
- testCLISwarmUpRecursive(false, t)
}
-// TestCLISwarmUpEncrypted tests that running 'swarm encrypted-up' makes the resulting file
+// testNoEncryption tests that running 'swarm up' makes the resulting file
// available from all nodes via the HTTP API
-func TestCLISwarmUpEncrypted(t *testing.T) {
- if runtime.GOOS == "windows" {
- t.Skip()
- }
- testCLISwarmUp(true, t)
+func testNoEncryption(t *testing.T) {
+ testDefault(false, t)
}
-func TestCLISwarmUpEncryptedRecursive(t *testing.T) {
- if runtime.GOOS == "windows" {
- t.Skip()
- }
- testCLISwarmUpRecursive(true, t)
+
+// testEncrypted tests that running 'swarm up --encrypted' makes the resulting file
+// available from all nodes via the HTTP API
+func testEncrypted(t *testing.T) {
+ testDefault(true, t)
}
-func testCLISwarmUp(toEncrypt bool, t *testing.T) {
- log.Info("starting 3 node cluster")
- cluster := newTestCluster(t, 3)
- defer cluster.Shutdown()
+func testRecursiveNoEncryption(t *testing.T) {
+ testRecursive(false, t)
+}
+
+func testRecursiveEncrypted(t *testing.T) {
+ testRecursive(true, t)
+}
+func testDefault(toEncrypt bool, t *testing.T) {
tmpFileName := testutil.TempFileWithContent(t, data)
defer os.Remove(tmpFileName)
@@ -182,11 +189,7 @@ func testCLISwarmUp(toEncrypt bool, t *testing.T) {
}
}
-func testCLISwarmUpRecursive(toEncrypt bool, t *testing.T) {
- fmt.Println("starting 3 node cluster")
- cluster := newTestCluster(t, 3)
- defer cluster.Shutdown()
-
+func testRecursive(toEncrypt bool, t *testing.T) {
tmpUploadDir, err := ioutil.TempDir("", "swarm-test")
if err != nil {
t.Fatal(err)
@@ -253,7 +256,7 @@ func testCLISwarmUpRecursive(toEncrypt bool, t *testing.T) {
switch mode := fi.Mode(); {
case mode.IsRegular():
- if file, err := swarm.Open(path.Join(tmpDownload, v.Name())); err != nil {
+ if file, err := swarmapi.Open(path.Join(tmpDownload, v.Name())); err != nil {
t.Fatalf("encountered an error opening the file returned from the CLI: %v", err)
} else {
ff := make([]byte, len(data))
@@ -274,22 +277,16 @@ func testCLISwarmUpRecursive(toEncrypt bool, t *testing.T) {
}
}
-// TestCLISwarmUpDefaultPath tests swarm recursive upload with relative and absolute
+// testDefaultPathAll tests swarm recursive upload with relative and absolute
// default paths and with encryption.
-func TestCLISwarmUpDefaultPath(t *testing.T) {
- if runtime.GOOS == "windows" {
- t.Skip()
- }
- testCLISwarmUpDefaultPath(false, false, t)
- testCLISwarmUpDefaultPath(false, true, t)
- testCLISwarmUpDefaultPath(true, false, t)
- testCLISwarmUpDefaultPath(true, true, t)
+func testDefaultPathAll(t *testing.T) {
+ testDefaultPath(false, false, t)
+ testDefaultPath(false, true, t)
+ testDefaultPath(true, false, t)
+ testDefaultPath(true, true, t)
}
-func testCLISwarmUpDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T) {
- srv := swarmhttp.NewTestSwarmServer(t, serverFunc, nil)
- defer srv.Close()
-
+func testDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T) {
tmp, err := ioutil.TempDir("", "swarm-defaultpath-test")
if err != nil {
t.Fatal(err)
@@ -312,7 +309,7 @@ func testCLISwarmUpDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T
args := []string{
"--bzzapi",
- srv.URL,
+ cluster.Nodes[0].URL,
"--recursive",
"--defaultpath",
defaultPath,
@@ -329,7 +326,7 @@ func testCLISwarmUpDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T
up.ExpectExit()
hash := matches[0]
- client := swarm.NewClient(srv.URL)
+ client := swarmapi.NewClient(cluster.Nodes[0].URL)
m, isEncrypted, err := client.DownloadManifest(hash)
if err != nil {