From 690522b09d613eaa507ec2f5ca076bd2515bb0b0 Mon Sep 17 00:00:00 2001 From: lash Date: Tue, 23 Jan 2018 14:57:04 +0100 Subject: [PATCH] swarm/api: Amend @gbalint comments PR 204 + args dep test loglvl --- swarm/api/api.go | 5 ++++- swarm/api/http/server_test.go | 21 ++++++++++++++------- swarm/storage/resource.go | 2 +- swarm/storage/resource_test.go | 7 ++++++- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/swarm/api/api.go b/swarm/api/api.go index 7abe5295c1..5a222dddc9 100644 --- a/swarm/api/api.go +++ b/swarm/api/api.go @@ -389,8 +389,11 @@ func (self *Api) ResourceLookup(name string, period uint32, version uint32) (sto func (self *Api) ResourceCreate(name string, frequency uint64) (storage.Key, error) { rsrc, err := self.resource.NewResource(name, frequency) + if err != nil { + return nil, err + } h := rsrc.NameHash() - return storage.Key(h[:]), err + return storage.Key(h[:]), nil } func (self *Api) ResourceUpdate(name string, data []byte) (storage.Key, uint32, uint32, error) { diff --git a/swarm/api/http/server_test.go b/swarm/api/http/server_test.go index 1a01108977..ea6f9155d1 100644 --- a/swarm/api/http/server_test.go +++ b/swarm/api/http/server_test.go @@ -64,13 +64,15 @@ func TestBzzResource(t *testing.T) { resp, err := http.Post(url, "application/octet-stream", bytes.NewReader(databytes)) if err != nil { t.Fatal(err) - } else if resp.StatusCode != http.StatusOK { + } + if resp.StatusCode != http.StatusOK { t.Fatalf("err %s", resp.Status) } b, err := ioutil.ReadAll(resp.Body) if err != nil { t.Fatal(err) - } else if !bytes.Equal(b, []byte(keybyteshash)) { + } + if !bytes.Equal(b, []byte(keybyteshash)) { t.Fatalf("resource update hash mismatch, expected '%s' got '%s'", keybyteshash, b) } resp.Body.Close() @@ -80,13 +82,15 @@ func TestBzzResource(t *testing.T) { resp, err = http.Get(url) if err != nil { t.Fatal(err) - } else if resp.StatusCode != http.StatusOK { + } + if resp.StatusCode != http.StatusOK { t.Fatalf("err %s", resp.Status) } b, err = ioutil.ReadAll(resp.Body) if err != nil { t.Fatal(err) - } else if !bytes.Equal(databytes, b) { + } + if !bytes.Equal(databytes, b) { t.Fatalf("Expected body '%x', got '%x'", databytes, b) } resp.Body.Close() @@ -97,7 +101,8 @@ func TestBzzResource(t *testing.T) { resp, err = http.Post(url, "application/octet-stream", bytes.NewReader(data)) if err != nil { t.Fatal(err) - } else if resp.StatusCode != http.StatusOK { + } + if resp.StatusCode != http.StatusOK { t.Fatalf("Update returned %d", resp.Status) } @@ -106,13 +111,15 @@ func TestBzzResource(t *testing.T) { resp, err = http.Get(url) if err != nil { t.Fatal(err) - } else if resp.StatusCode != http.StatusOK { + } + if resp.StatusCode != http.StatusOK { t.Fatalf("err %s", resp.Status) } b, err = ioutil.ReadAll(resp.Body) if err != nil { t.Fatal(err) - } else if !bytes.Equal(data, b) { + } + if !bytes.Equal(data, b) { t.Fatalf("Expected body '%x', got '%x'", data, b) } resp.Body.Close() diff --git a/swarm/storage/resource.go b/swarm/storage/resource.go index 39b4fafa6f..7bd437e924 100644 --- a/swarm/storage/resource.go +++ b/swarm/storage/resource.go @@ -703,7 +703,7 @@ func newUpdateChunk(key Key, signature *Signature, period uint32, version uint32 datalength := len(data) chunk := NewChunk(key, nil) - chunk.SData = make([]byte, 4+signaturelength+headerlength+datalength) + chunk.SData = make([]byte, 4+signaturelength+headerlength+datalength) // initial 4 are uint16 length descriptors for headerlength and datalength // data header length does NOT include the header length prefix bytes themselves cursor := 0 diff --git a/swarm/storage/resource_test.go b/swarm/storage/resource_test.go index 537eb35d09..e84cdb7b93 100644 --- a/swarm/storage/resource_test.go +++ b/swarm/storage/resource_test.go @@ -6,6 +6,7 @@ import ( "crypto/ecdsa" "crypto/rand" "encoding/binary" + "flag" "fmt" "io/ioutil" "math/big" @@ -37,7 +38,11 @@ var ( func init() { var err error - log.Root().SetHandler(log.CallerFileHandler(log.LvlFilterHandler(log.LvlTrace, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))) + verbose := flag.Bool("v", false, "verbose") + flag.Parse() + if *verbose { + log.Root().SetHandler(log.CallerFileHandler(log.LvlFilterHandler(log.LvlTrace, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))) + } safeName, err = ToSafeName(domainName) if err != nil { panic(err)