prysm-pulse/testing/endtoend/components/web3remotesigner_test.go
Preston Van Loon c3228cd5a7
e2e: Add web3signer component (#10088)
* Add initial web3signer binary

* Add support for web3signer component in e2e

* revert some changes

* Reference https://github.com/ConsenSys/web3signer/issues/485 in commentary

* gofmt

* Add notice about java 11 requirement

* Sec issue, revert to 0750 permissions

* remove unused param

* remove unused import

* use hexutil

* Fix yaml struct tags. See https://github.com/ConsenSys/web3signer/issues/485\#issuecomment-1015994840

* fmt

Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-01-19 16:22:23 +00:00

45 lines
1.0 KiB
Go

package components_test
import (
"context"
"testing"
"time"
"github.com/prysmaticlabs/prysm/config/params"
"github.com/prysmaticlabs/prysm/testing/endtoend/components"
e2eparams "github.com/prysmaticlabs/prysm/testing/endtoend/params"
"github.com/prysmaticlabs/prysm/testing/require"
)
func TestWeb3RemoteSigner_StartsAndReturnsPublicKeys(t *testing.T) {
require.NoError(t, e2eparams.Init(0))
wsc := components.NewWeb3RemoteSigner()
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
go func() {
if err := wsc.Start(ctx); err != nil {
t.Error(err)
panic(err)
}
}()
select {
case <-ctx.Done():
t.Fatal("Web3RemoteSigner did not start within timeout")
case <-wsc.Started():
t.Log("Web3RemoteSigner started")
break
}
time.Sleep(10 * time.Second)
keys, err := wsc.PublicKeys(ctx)
require.NoError(t, err)
if uint64(len(keys)) != params.BeaconConfig().MinGenesisActiveValidatorCount {
t.Fatalf("Expected %d keys, got %d", params.BeaconConfig().MinGenesisActiveValidatorCount, len(keys))
}
}