prysm-pulse/testing/endtoend/components/web3remotesigner_test.go

45 lines
1.0 KiB
Go
Raw Normal View History

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))
}
}