From 9077ad49dd36b60b9c5b2fd6aab39953afd746eb Mon Sep 17 00:00:00 2001 From: fearlseefe <505380967@qq.com> Date: Fri, 12 Apr 2024 13:14:38 +0800 Subject: [PATCH] feat: add test for sync method --- portalnetwork/beacon/light_client.go | 8 ++++++++ portalnetwork/beacon/light_client_test.go | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/portalnetwork/beacon/light_client.go b/portalnetwork/beacon/light_client.go index 9fe2907128..fb50ed99d3 100644 --- a/portalnetwork/beacon/light_client.go +++ b/portalnetwork/beacon/light_client.go @@ -101,6 +101,14 @@ func NewConsensusLightClient(api ConsensusAPI, config *Config, checkpointBlockRo return client, nil } +func (c *ConsensusLightClient) GetHeader() *common.BeaconBlockHeader { + return c.Store.OptimisticHeader +} + +func (c *ConsensusLightClient) GetFinalityHeader() *common.BeaconBlockHeader { + return c.Store.FinalizedHeader +} + func (c *ConsensusLightClient) Sync() error { err := c.bootstrap() if err != nil { diff --git a/portalnetwork/beacon/light_client_test.go b/portalnetwork/beacon/light_client_test.go index b0e6049890..5d69ede603 100644 --- a/portalnetwork/beacon/light_client_test.go +++ b/portalnetwork/beacon/light_client_test.go @@ -78,6 +78,7 @@ func getClient(strictCheckpointAge bool, t *testing.T) (*ConsensusLightClient, e Chain: baseConfig.Chain, Spec: baseConfig.Spec, StrictCheckpointAge: strictCheckpointAge, + MaxCheckpointAge: 123123123, } checkpoint := common.Root(hexutil.MustDecode("0xc62aa0de55e6f21230fa63713715e1a6c13e73005e89f6389da271955d819bde")) @@ -161,3 +162,17 @@ func TestVerifyOptimisticUpdate(t *testing.T) { err = client.VerifyOptimisticUpdate(update) require.Error(t, err) } + +func TestSync(t *testing.T) { + client, err := getClient(false, t) + require.NoError(t, err) + + err = client.Sync() + require.NoError(t, err) + + header := client.GetHeader() + require.Equal(t, header.Slot, common.Slot(7358726)) + + finalizedHead := client.GetFinalityHeader() + require.Equal(t, finalizedHead.Slot, common.Slot(7358656)) +}