kopia lustrzana https://github.com/bugout-dev/moonstream
Different fake nodes for test
rodzic
3228e631cb
commit
3c63297825
|
@ -153,5 +153,5 @@ go build -o fakenode tests/fake_node/main.go
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
TEST_API_URL="http://127.0.0.1:8545/nb/test/jsonrpc" /usr/local/go/bin/go test -run ^TestHealthCheck$ github.com/bugout-dev/moonstream/nodes/node_balancer/cmd/nodebalancer -v -count=1
|
TEST_API_URL="http://127.0.0.1:8545/nb" /usr/local/go/bin/go test -run ^TestHealthCheck$ github.com/bugout-dev/moonstream/nodes/node_balancer/cmd/nodebalancer -v -count=1
|
||||||
```
|
```
|
||||||
|
|
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
@ -14,13 +15,20 @@ var testApiUrl = os.Getenv("TEST_API_URL")
|
||||||
func setupBalancerSuit(t *testing.T) func(t *testing.T) {
|
func setupBalancerSuit(t *testing.T) func(t *testing.T) {
|
||||||
t.Log("Setup Balancer suit")
|
t.Log("Setup Balancer suit")
|
||||||
|
|
||||||
testEndpoint, err := url.Parse(testApiUrl)
|
testEndpoint1, err := url.Parse(fmt.Sprintf("%s/test1/jsonrpc", testApiUrl))
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
testEndpoint2, err := url.Parse(fmt.Sprintf("%s/test2/jsonrpc", testApiUrl))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
testNode := &Node{
|
testNode1 := &Node{
|
||||||
Endpoint: testEndpoint,
|
Endpoint: testEndpoint1,
|
||||||
|
}
|
||||||
|
testNode2 := &Node{
|
||||||
|
Endpoint: testEndpoint2,
|
||||||
}
|
}
|
||||||
|
|
||||||
testBlockchainPools := make(map[string]*NodePool)
|
testBlockchainPools := make(map[string]*NodePool)
|
||||||
|
@ -28,13 +36,13 @@ func setupBalancerSuit(t *testing.T) func(t *testing.T) {
|
||||||
NodesMap: make(map[string][]*Node),
|
NodesMap: make(map[string][]*Node),
|
||||||
}
|
}
|
||||||
testBlockchainPools["test"].NodesMap["tag_1"] = append(
|
testBlockchainPools["test"].NodesMap["tag_1"] = append(
|
||||||
testBlockchainPools["test"].NodesMap["tag_1"], testNode,
|
testBlockchainPools["test"].NodesMap["tag_1"], testNode1,
|
||||||
)
|
)
|
||||||
testBlockchainPools["test"].NodesMap["tag_2"] = append(
|
testBlockchainPools["test"].NodesMap["tag_2"] = append(
|
||||||
testBlockchainPools["test"].NodesMap["tag_2"], testNode,
|
testBlockchainPools["test"].NodesMap["tag_2"], testNode2,
|
||||||
)
|
)
|
||||||
testBlockchainPools["test"].NodesSet = append(
|
testBlockchainPools["test"].NodesSet = append(
|
||||||
testBlockchainPools["test"].NodesSet, testNode,
|
testBlockchainPools["test"].NodesSet, testNode1, testNode2,
|
||||||
)
|
)
|
||||||
|
|
||||||
blockchainPools = make(map[string]*NodePool)
|
blockchainPools = make(map[string]*NodePool)
|
||||||
|
|
|
@ -6,7 +6,9 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"math/rand"
|
||||||
"time"
|
"time"
|
||||||
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PingResponse struct {
|
type PingResponse struct {
|
||||||
|
@ -30,7 +32,7 @@ func pingRoute(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
func lbRoute(w http.ResponseWriter, r *http.Request) {
|
func lbRoute(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
res := NodeStatusResponse{NodeStatusResultResponse{Number: "11"}}
|
res := NodeStatusResponse{NodeStatusResultResponse{Number: strconv.Itoa(rand.Intn(100))}}
|
||||||
json.NewEncoder(w).Encode(res)
|
json.NewEncoder(w).Encode(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,7 +66,8 @@ func main() {
|
||||||
|
|
||||||
commonMux := http.NewServeMux()
|
commonMux := http.NewServeMux()
|
||||||
commonMux.HandleFunc("/ping", pingRoute)
|
commonMux.HandleFunc("/ping", pingRoute)
|
||||||
commonMux.HandleFunc("/nb/test/jsonrpc", lbRoute)
|
commonMux.HandleFunc("/nb/test1/jsonrpc", lbRoute)
|
||||||
|
commonMux.HandleFunc("/nb/test2/jsonrpc", lbRoute)
|
||||||
|
|
||||||
commonHandler := logMiddleware(commonMux)
|
commonHandler := logMiddleware(commonMux)
|
||||||
commonHandler = panicMiddleware(commonHandler)
|
commonHandler = panicMiddleware(commonHandler)
|
||||||
|
|
Ładowanie…
Reference in New Issue