Skip to content

Commit

Permalink
updater_test: implement query peers handler
Browse files Browse the repository at this point in the history
  • Loading branch information
jazg committed Sep 8, 2020
1 parent 8f84300 commit 519a14e
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 41 deletions.
39 changes: 0 additions & 39 deletions testutils/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (

"github.com/renproject/darknode/jsonrpc"
"github.com/renproject/darknode/tx/txutil"
"github.com/renproject/lightnode/store"
"github.com/renproject/pack"
)

Expand All @@ -36,44 +35,6 @@ func (cl ChanWriter) Write(p []byte) (n int, err error) {
}
}

func RandomAddressHandler(store store.MultiAddrStore) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
addrs, err := store.RandomAddrs(5)
if err != nil {
panic(err)
}
addrsString := make([]string, len(addrs))
for i := range addrsString {
addrsString[i] = addrs[i].String()
}
queryRes := jsonrpc.ResponseQueryPeers{
Peers: addrsString,
}
response := jsonrpc.Response{
Version: "2.0",
ID: 0,
Result: queryRes,
}
w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(response); err != nil {
panic(err)
}
}
}

// PanicHandler returns a simple `http.HandlerFunc` which panics.
func PanicHandler() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
panic("intentionally panic here")
}
}

// NilHandler don't do anything with the request which causing EOF error.
func NilHandler() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
}
}

func SimpleHandler(alwaysSuccess bool, requests chan jsonrpc.Request) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var request jsonrpc.Request
Expand Down
24 changes: 22 additions & 2 deletions updater/updater_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package updater_test
import (
"context"
"fmt"
"net/http"
"time"

. "github.com/onsi/ginkgo"
Expand Down Expand Up @@ -35,8 +36,27 @@ func initDarknodes(ctx context.Context, n int) []*MockDarknode {
dns := make([]*MockDarknode, n)
store := store.New(kv.NewTable(kv.NewMemDB(kv.JSONCodec), "addresses"), nil)
for i := 0; i < n; i++ {
server := jsonrpc.NewServer(jsonrpc.DefaultOptions(), jsonrpcresolver.OkResponder())
url := fmt.Sprintf("0.0.0.0:%v", 3333+i)
server := jsonrpc.NewServer(jsonrpc.DefaultOptions(), &jsonrpcresolver.Callbacks{
QueryPeersHandler: func(ctx context.Context, id interface{}, params *jsonrpc.ParamsQueryPeers, r *http.Request) jsonrpc.Response {
addrs, err := store.RandomAddrs(5)
if err != nil {
panic(err)
}
addrsString := make([]string, len(addrs))
for i := range addrsString {
addrsString[i] = addrs[i].String()
}
queryRes := jsonrpc.ResponseQueryPeers{
Peers: addrsString,
}
return jsonrpc.Response{
Version: "2.0",
ID: 0,
Result: queryRes,
}
},
})
url := fmt.Sprintf("0.0.0.0:%v", 4444+i)
go server.Listen(ctx, url)

dns[i] = NewMockDarknode(url, store)
Expand Down

0 comments on commit 519a14e

Please sign in to comment.