mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-09 03:01:19 +00:00
19af1d2bb0
* adding compare beacon block test * fixing bazel * fixing evaluator import * fixing imports * changing package name * fixing bazel * adding logic to check for checking epoch * fixing linting * adding check for attester duties * handle both blockv1 and blockv2 * making middleware objects public instead * adding test for block attestations * fixing typo * adding blockroot test * adding test for attestations * fixing type value * fixing test * adding in node endpoints * fixing bazel * updating web3signer * printing beacon blocks on request * fixing struct * temp log * forgot string cast * adding comparison function * fixing bazel and evaulators, WIP * fixing bazel * changing how to minify json * trying multiclient * fixing port problem * reverting evaluator and making test only for mainnet scenario testing * removing test data * fixing linting unused functions git push * changed to reflect * adding in ssz comparison * fixing tests * fixing conflict * fixing tests * making v2 the standard * adding better error logging * fixing type * adding lighthouse settings and fixing some deepsource items * testing adding delay to evaluator * testing without peers check * changing target peers to try to fix lighthouse peer connections * temp removing other tests * fix lint issue * adding peers connect back in * adding in state version * fixing bazel * fixing path error * testing changes to state * fix unmarshal * simplifying beacon api e2e execution * fixing missed assertian checks * improve logging and debugging issue * trying to fix unmarshal * still breaking more test edits * removing fork to test unmarshal * fixing pathing * resolving error * fixing beacon_api * merging in debug api to beacon_api test * fixing lint and temp commenting out endpoint * adding in custom comparison function * fixing custom evaluator * adding test for block header data * fixing header evaluation * add node apis * fixing linting,adding tests * fixing bazel and temp removing unused functions * fixing deepsource and linting issues * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * addressing review * resolving more review comments * fixing linting * removing ssz return value as it's large and possibly not needed * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * fixing more review comments * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * fixing linting and review iteems * fixing cognit complexity issue * fixing linting * fix log printout * test build kite only with crossclient * switching out evaluator to depositedvalidatorsareactive * removed wrong evaluator switching correct one * removing skip based on review comments * fixing pathing issue * test without participation at epoch * testing without special lighthouse logic in evaluator * reducing expected participation when multiclient * fixing imports * reducing epochs to see if less flaky * testing with other tests added back in * reducing epochs ran further * testing only cross client again * testing multi run again * test reverted scenario for tests * testing with cross client * removing commented out function * testing without peers connect * adding optimization based on suggestions * removed the wrong peers connect * accidently commited something I shouldn't have * fixing lighthouse flag * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> Co-authored-by: Radosław Kapka <rkapka@wp.pl>
79 lines
1.9 KiB
Go
79 lines
1.9 KiB
Go
package beaconapi_evaluators
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
|
|
"github.com/prysmaticlabs/prysm/v3/testing/endtoend/params"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func doMiddlewareJSONGetRequest(template string, requestPath string, beaconNodeIdx int, dst interface{}, bnType ...string) error {
|
|
var port int
|
|
if len(bnType) > 0 {
|
|
switch bnType[0] {
|
|
case "lighthouse":
|
|
port = params.TestParams.Ports.LighthouseBeaconNodeHTTPPort
|
|
default:
|
|
port = params.TestParams.Ports.PrysmBeaconNodeGatewayPort
|
|
}
|
|
} else {
|
|
port = params.TestParams.Ports.PrysmBeaconNodeGatewayPort
|
|
}
|
|
|
|
basePath := fmt.Sprintf(template, port+beaconNodeIdx)
|
|
httpResp, err := http.Get(
|
|
basePath + requestPath,
|
|
)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return json.NewDecoder(httpResp.Body).Decode(&dst)
|
|
}
|
|
|
|
func doMiddlewareSSZGetRequest(template string, requestPath string, beaconNodeIdx int, bnType ...string) ([]byte, error) {
|
|
client := &http.Client{}
|
|
var port int
|
|
if len(bnType) > 0 {
|
|
switch bnType[0] {
|
|
case "lighthouse":
|
|
port = params.TestParams.Ports.LighthouseBeaconNodeHTTPPort
|
|
default:
|
|
port = params.TestParams.Ports.PrysmBeaconNodeGatewayPort
|
|
}
|
|
} else {
|
|
port = params.TestParams.Ports.PrysmBeaconNodeGatewayPort
|
|
}
|
|
|
|
basePath := fmt.Sprintf(template, port+beaconNodeIdx)
|
|
|
|
req, err := http.NewRequest("GET", basePath+requestPath, nil)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
req.Header.Set("Accept", "application/octet-stream")
|
|
rsp, err := client.Do(req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if rsp.StatusCode != http.StatusOK {
|
|
return nil, fmt.Errorf("request failed with response code: %d", rsp.StatusCode)
|
|
}
|
|
defer closeBody(rsp.Body)
|
|
body, err := io.ReadAll(rsp.Body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return body, nil
|
|
}
|
|
|
|
func closeBody(body io.Closer) {
|
|
if err := body.Close(); err != nil {
|
|
log.WithError(err).Error("could not close response body")
|
|
}
|
|
}
|