aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElad <theman@elad.im>2018-10-09 20:08:40 +0800
committerFelix Lange <fjl@users.noreply.github.com>2018-10-09 20:08:40 +0800
commitda290e9707d6b3074b571722bbb557815b03ad48 (patch)
treedbb7a5c62330bc3f9a862f2eacc067c477e16719
parent0fe9a372b3ff9fd0746c3e271bd0ddddd3412122 (diff)
downloaddexon-da290e9707d6b3074b571722bbb557815b03ad48.tar.gz
dexon-da290e9707d6b3074b571722bbb557815b03ad48.tar.zst
dexon-da290e9707d6b3074b571722bbb557815b03ad48.zip
cmd/swarm: speed up tests (#17878)
These minor changes already shaved off around 30s.
-rw-r--r--cmd/swarm/access_test.go13
-rw-r--r--cmd/swarm/manifest_test.go41
-rw-r--r--cmd/swarm/run_test.go6
-rw-r--r--cmd/swarm/upload_test.go9
4 files changed, 38 insertions, 31 deletions
diff --git a/cmd/swarm/access_test.go b/cmd/swarm/access_test.go
index 106e6dd91..b4d2e1dbc 100644
--- a/cmd/swarm/access_test.go
+++ b/cmd/swarm/access_test.go
@@ -54,9 +54,8 @@ var DefaultCurve = crypto.S256()
// is then fetched through 2nd node. since the tested code is not key-aware - we can just
// fetch from the 2nd node using HTTP BasicAuth
func TestAccessPassword(t *testing.T) {
- cluster := newTestCluster(t, 1)
- defer cluster.Shutdown()
- proxyNode := cluster.Nodes[0]
+ srv := testutil.NewTestSwarmServer(t, serverFunc, nil)
+ defer srv.Close()
dataFilename := testutil.TempFileWithContent(t, data)
defer os.RemoveAll(dataFilename)
@@ -64,7 +63,7 @@ func TestAccessPassword(t *testing.T) {
// upload the file with 'swarm up' and expect a hash
up := runSwarm(t,
"--bzzapi",
- proxyNode.URL, //it doesn't matter through which node we upload content
+ srv.URL, //it doesn't matter through which node we upload content
"up",
"--encrypt",
dataFilename)
@@ -138,7 +137,7 @@ func TestAccessPassword(t *testing.T) {
if a.Publisher != "" {
t.Fatal("should be empty")
}
- client := swarm.NewClient(cluster.Nodes[0].URL)
+ client := swarm.NewClient(srv.URL)
hash, err := client.UploadManifest(&m, false)
if err != nil {
@@ -147,7 +146,7 @@ func TestAccessPassword(t *testing.T) {
httpClient := &http.Client{}
- url := cluster.Nodes[0].URL + "/" + "bzz:/" + hash
+ url := srv.URL + "/" + "bzz:/" + hash
response, err := httpClient.Get(url)
if err != nil {
t.Fatal(err)
@@ -189,7 +188,7 @@ func TestAccessPassword(t *testing.T) {
//download file with 'swarm down' with wrong password
up = runSwarm(t,
"--bzzapi",
- proxyNode.URL,
+ srv.URL,
"down",
"bzz:/"+hash,
tmp,
diff --git a/cmd/swarm/manifest_test.go b/cmd/swarm/manifest_test.go
index 9c7808dfa..7ea4e0c45 100644
--- a/cmd/swarm/manifest_test.go
+++ b/cmd/swarm/manifest_test.go
@@ -26,6 +26,7 @@ import (
"github.com/ethereum/go-ethereum/swarm/api"
swarm "github.com/ethereum/go-ethereum/swarm/api/client"
+ "github.com/ethereum/go-ethereum/swarm/testutil"
)
// TestManifestChange tests manifest add, update and remove
@@ -57,8 +58,8 @@ func TestManifestChangeEncrypted(t *testing.T) {
// Argument encrypt controls whether to use encryption or not.
func testManifestChange(t *testing.T, encrypt bool) {
t.Parallel()
- cluster := newTestCluster(t, 1)
- defer cluster.Shutdown()
+ srv := testutil.NewTestSwarmServer(t, serverFunc, nil)
+ defer srv.Close()
tmp, err := ioutil.TempDir("", "swarm-manifest-test")
if err != nil {
@@ -94,7 +95,7 @@ func testManifestChange(t *testing.T, encrypt bool) {
args := []string{
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"--recursive",
"--defaultpath",
indexDataFilename,
@@ -109,7 +110,7 @@ func testManifestChange(t *testing.T, encrypt bool) {
checkHashLength(t, origManifestHash, encrypt)
- client := swarm.NewClient(cluster.Nodes[0].URL)
+ client := swarm.NewClient(srv.URL)
// upload a new file and use its manifest to add it the original manifest.
t.Run("add", func(t *testing.T) {
@@ -122,14 +123,14 @@ func testManifestChange(t *testing.T, encrypt bool) {
humansManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"up",
humansDataFilename,
)
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"add",
origManifestHash,
@@ -177,14 +178,14 @@ func testManifestChange(t *testing.T, encrypt bool) {
robotsManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"up",
robotsDataFilename,
)
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"add",
origManifestHash,
@@ -237,14 +238,14 @@ func testManifestChange(t *testing.T, encrypt bool) {
indexManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"up",
indexDataFilename,
)
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"update",
origManifestHash,
@@ -295,14 +296,14 @@ func testManifestChange(t *testing.T, encrypt bool) {
humansManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"up",
robotsDataFilename,
)
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"update",
origManifestHash,
@@ -348,7 +349,7 @@ func testManifestChange(t *testing.T, encrypt bool) {
t.Run("remove", func(t *testing.T) {
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"remove",
origManifestHash,
@@ -376,7 +377,7 @@ func testManifestChange(t *testing.T, encrypt bool) {
t.Run("remove nested", func(t *testing.T) {
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"remove",
origManifestHash,
@@ -429,8 +430,8 @@ func TestNestedDefaultEntryUpdateEncrypted(t *testing.T) {
func testNestedDefaultEntryUpdate(t *testing.T, encrypt bool) {
t.Parallel()
- cluster := newTestCluster(t, 1)
- defer cluster.Shutdown()
+ srv := testutil.NewTestSwarmServer(t, serverFunc, nil)
+ defer srv.Close()
tmp, err := ioutil.TempDir("", "swarm-manifest-test")
if err != nil {
@@ -458,7 +459,7 @@ func testNestedDefaultEntryUpdate(t *testing.T, encrypt bool) {
args := []string{
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"--recursive",
"--defaultpath",
indexDataFilename,
@@ -473,7 +474,7 @@ func testNestedDefaultEntryUpdate(t *testing.T, encrypt bool) {
checkHashLength(t, origManifestHash, encrypt)
- client := swarm.NewClient(cluster.Nodes[0].URL)
+ client := swarm.NewClient(srv.URL)
newIndexData := []byte("<h1>Ethereum Swarm</h1>")
newIndexDataFilename := filepath.Join(tmp, "index.html")
@@ -484,14 +485,14 @@ func testNestedDefaultEntryUpdate(t *testing.T, encrypt bool) {
newIndexManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"up",
newIndexDataFilename,
)
newManifestHash := runSwarmExpectHash(t,
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"manifest",
"update",
origManifestHash,
diff --git a/cmd/swarm/run_test.go b/cmd/swarm/run_test.go
index 6d2a86f4b..55199e955 100644
--- a/cmd/swarm/run_test.go
+++ b/cmd/swarm/run_test.go
@@ -40,6 +40,9 @@ import (
"github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/rpc"
"github.com/ethereum/go-ethereum/swarm"
+ "github.com/ethereum/go-ethereum/swarm/api"
+ swarmhttp "github.com/ethereum/go-ethereum/swarm/api/http"
+ "github.com/ethereum/go-ethereum/swarm/testutil"
)
var loglevel = flag.Int("loglevel", 3, "verbosity of logs")
@@ -55,6 +58,9 @@ func init() {
})
}
+func serverFunc(api *api.API) testutil.TestServer {
+ return swarmhttp.NewServer(api, "")
+}
func TestMain(m *testing.M) {
// check if we have been reexec'd
if reexec.Init() {
diff --git a/cmd/swarm/upload_test.go b/cmd/swarm/upload_test.go
index e8161680f..0ac2456a5 100644
--- a/cmd/swarm/upload_test.go
+++ b/cmd/swarm/upload_test.go
@@ -32,6 +32,7 @@ import (
"github.com/ethereum/go-ethereum/log"
swarm "github.com/ethereum/go-ethereum/swarm/api/client"
+ "github.com/ethereum/go-ethereum/swarm/testutil"
"github.com/mattn/go-colorable"
)
@@ -298,8 +299,8 @@ func TestCLISwarmUpDefaultPath(t *testing.T) {
}
func testCLISwarmUpDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T) {
- cluster := newTestCluster(t, 1)
- defer cluster.Shutdown()
+ srv := testutil.NewTestSwarmServer(t, serverFunc, nil)
+ defer srv.Close()
tmp, err := ioutil.TempDir("", "swarm-defaultpath-test")
if err != nil {
@@ -323,7 +324,7 @@ func testCLISwarmUpDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T
args := []string{
"--bzzapi",
- cluster.Nodes[0].URL,
+ srv.URL,
"--recursive",
"--defaultpath",
defaultPath,
@@ -340,7 +341,7 @@ func testCLISwarmUpDefaultPath(toEncrypt bool, absDefaultPath bool, t *testing.T
up.ExpectExit()
hash := matches[0]
- client := swarm.NewClient(cluster.Nodes[0].URL)
+ client := swarm.NewClient(srv.URL)
m, isEncrypted, err := client.DownloadManifest(hash)
if err != nil {