prysm-pulse/testing/endtoend/components/web3remotesigner_test.go
Nishant Das ecb605814e
Add in Separate Directories per Test (#10753)
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2022-05-25 15:57:13 +00:00

46 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(t, 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))
}
}