From 745e593028b5bc2e3114603f3b2a94064e267743 Mon Sep 17 00:00:00 2001 From: Janos Guljas Date: Fri, 1 Dec 2017 10:28:08 +0100 Subject: [PATCH] swarm/api: add tests for bzzh get path --- swarm/api/http/server_test.go | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/swarm/api/http/server_test.go b/swarm/api/http/server_test.go index ffeaf6e0d8..c60ed611c8 100644 --- a/swarm/api/http/server_test.go +++ b/swarm/api/http/server_test.go @@ -33,7 +33,7 @@ import ( "github.com/ethereum/go-ethereum/swarm/testutil" ) -func TestBzzrGetPath(t *testing.T) { +func TestBzzGetPath(t *testing.T) { var err error @@ -104,16 +104,47 @@ func TestBzzrGetPath(t *testing.T) { } } + for k, v := range testrequests { + var resp *http.Response + var respbody []byte + + url := srv.URL + "/bzzh:/" + if k[:] != "" { + url += common.ToHex(key[0])[2:] + "/" + k[1:] + } + resp, err = http.Get(url) + if err != nil { + t.Fatalf("Request failed: %v", err) + } + defer resp.Body.Close() + respbody, err = ioutil.ReadAll(resp.Body) + + if string(respbody) != key[v].String() { + isexpectedfailrequest := false + + for _, r := range expectedfailrequests { + if k[:] == r { + isexpectedfailrequest = true + } + } + if !isexpectedfailrequest { + t.Fatalf("Response body does not match, expected: %v, got %v", key[v], string(respbody)) + } + } + } + nonhashtests := []string{ srv.URL + "/bzz:/name", srv.URL + "/bzzi:/nonhash", srv.URL + "/bzzr:/nonhash", + srv.URL + "/bzzh:/nonhash", } nonhashresponses := []string{ "error resolving name: no DNS to resolve name: "name"", "error resolving nonhash: immutable address not a content hash: "nonhash"", "error resolving nonhash: no DNS to resolve name: "nonhash"", + "error resolving nonhash: no DNS to resolve name: "nonhash"", } for i, url := range nonhashtests {