Skip to content

Commit

Permalink
fix: unittest
Browse files Browse the repository at this point in the history
  • Loading branch information
joanestebanr committed Jan 21, 2025
1 parent 5538f02 commit f258b06
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 210 deletions.
79 changes: 48 additions & 31 deletions agglayer/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ func TestExploratoryClient(t *testing.T) {
require.NotNil(t, config)
fmt.Printf("Config: %s", config.String())

lastCert, err := sut.GetLatestKnownCertificateHeader(1)
lastCert, err := sut.GetLatestPendingCertificateHeader(1)
require.NoError(t, err)
require.NotNil(t, lastCert)
fmt.Printf("LastCert: %s", lastCert.String())
fmt.Printf("LastPendingCert: %s", lastCert.String())
}

func TestExploratoryGetCertificateHeader(t *testing.T) {
Expand All @@ -44,16 +44,8 @@ func TestExploratoryGetEpochConfiguration(t *testing.T) {
fmt.Print(clockConfig)
}

func TestExploratoryGetLatestKnownCertificateHeader(t *testing.T) {
//t.Skip("This test is exploratory and should be skipped")
aggLayerClient := NewAggLayerClient(testExploratoryURL)
cert, err := aggLayerClient.GetLatestKnownCertificateHeader(2)
require.NoError(t, err)
fmt.Print(cert)
}

func TestExploratoryGetLatestPendingCertificateHeader(t *testing.T) {
//t.Skip("This test is exploratory and should be skipped")
t.Skip("This test is exploratory and should be skipped")
aggLayerClient := NewAggLayerClient(testExploratoryURL)
cert, err := aggLayerClient.GetLatestPendingCertificateHeader(2)
require.NoError(t, err)
Expand Down Expand Up @@ -114,18 +106,26 @@ func TestGetEpochConfigurationOkResponse(t *testing.T) {
}, *clockConfig)
}

func TestGetLatestKnownCertificateHeaderOkResponse(t *testing.T) {
func TestGetLatestXXXCertificateHeaderOkResponse(t *testing.T) {
sut := NewAggLayerClient(testURL)
response := rpc.Response{
Result: []byte(`{"network_id":1,"height":0,"epoch_number":223,"certificate_index":0,"certificate_id":"0xf9179d2fbe535814b5a14496e2eed474f49c6131227a9dfc5d2d8caf9e212054","new_local_exit_root":"0x7ae06f4a5d0b6da7dd4973fb6ef40d82c9f2680899b3baaf9e564413b59cc160","metadata":"0x00000000000000000000000000000000000000000000000000000000000001a7","status":"Settled"}`),
}
jSONRPCCall = func(url, method string, params ...interface{}) (rpc.Response, error) {
return response, nil
}
cert, err := sut.GetLatestKnownCertificateHeader(1)
require.NotNil(t, cert)
require.NoError(t, err)
require.Nil(t, cert.PreviousLocalExitRoot)
t.Run("GetLatestSettledCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestSettledCertificateHeader(1)
require.NotNil(t, cert)
require.NoError(t, err)
require.Nil(t, cert.PreviousLocalExitRoot)
})
t.Run("GetLatestPendingCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestPendingCertificateHeader(1)
require.NotNil(t, cert)
require.NoError(t, err)
require.Nil(t, cert.PreviousLocalExitRoot)
})
}

func TestGetLatestKnownCertificateHeaderErrorResponse(t *testing.T) {
Expand All @@ -134,10 +134,16 @@ func TestGetLatestKnownCertificateHeaderErrorResponse(t *testing.T) {
return rpc.Response{}, fmt.Errorf("unittest error")
}

cert, err := sut.GetLatestKnownCertificateHeader(1)

require.Nil(t, cert)
require.Error(t, err)
t.Run("GetLatestSettledCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestSettledCertificateHeader(1)
require.Nil(t, cert)
require.Error(t, err)
})
t.Run("GetLatestPendingCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestPendingCertificateHeader(1)
require.Nil(t, cert)
require.Error(t, err)
})
}

func TestGetLatestKnownCertificateHeaderResponseBadJson(t *testing.T) {
Expand All @@ -148,11 +154,16 @@ func TestGetLatestKnownCertificateHeaderResponseBadJson(t *testing.T) {
jSONRPCCall = func(url, method string, params ...interface{}) (rpc.Response, error) {
return response, nil
}

cert, err := sut.GetLatestKnownCertificateHeader(1)

require.Nil(t, cert)
require.Error(t, err)
t.Run("GetLatestSettledCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestSettledCertificateHeader(1)
require.Nil(t, cert)
require.Error(t, err)
})
t.Run("GetLatestPendingCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestPendingCertificateHeader(1)
require.Nil(t, cert)
require.Error(t, err)
})
}

func TestGetLatestKnownCertificateHeaderWithPrevLERResponse(t *testing.T) {
Expand All @@ -163,10 +174,16 @@ func TestGetLatestKnownCertificateHeaderWithPrevLERResponse(t *testing.T) {
jSONRPCCall = func(_, _ string, _ ...interface{}) (rpc.Response, error) {
return response, nil
}
cert, err := sut.GetLatestKnownCertificateHeader(1)

require.NoError(t, err)
require.NotNil(t, cert)

require.Equal(t, "0x27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d757", cert.PreviousLocalExitRoot.String())
t.Run("GetLatestSettledCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestSettledCertificateHeader(1)
require.NoError(t, err)
require.NotNil(t, cert)
require.Equal(t, "0x27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d757", cert.PreviousLocalExitRoot.String())
})
t.Run("GetLatestPendingCertificateHeader", func(t *testing.T) {
cert, err := sut.GetLatestPendingCertificateHeader(1)
require.NoError(t, err)
require.NotNil(t, cert)
require.Equal(t, "0x27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d757", cert.PreviousLocalExitRoot.String())
})
}
6 changes: 2 additions & 4 deletions agglayer/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -733,10 +733,8 @@ func (p *GenericError) Error() string {

// CertificateHeader is the structure returned by the interop_getCertificateHeader RPC call
type CertificateHeader struct {
NetworkID uint32 `json:"network_id"`
Height uint64 `json:"height"`
//EpochNumber *uint64 `json:"epoch_number"`
//CertificateIndex *uint64 `json:"certificate_index"`
NetworkID uint32 `json:"network_id"`
Height uint64 `json:"height"`
CertificateID common.Hash `json:"certificate_id"`
PreviousLocalExitRoot *common.Hash `json:"prev_local_exit_root,omitempty"`
NewLocalExitRoot common.Hash `json:"new_local_exit_root"`
Expand Down
5 changes: 3 additions & 2 deletions aggsender/aggsender.go
Original file line number Diff line number Diff line change
Expand Up @@ -745,15 +745,16 @@ func (a *AggSender) checkLastCertificateFromAgglayer(ctx context.Context) error
return fmt.Errorf("recovery: error retrieving initial status: %w", err)
}
initialStatus.LogData()
action, err := initialStatus.Process2()
action, err := initialStatus.Process()
if err != nil {
return fmt.Errorf("recovery: error processing initial status: %w", err)
}
err = a.executeInitialStatusAction(ctx, action, initialStatus.LocalCert)
return err
}

func (a *AggSender) executeInitialStatusAction(ctx context.Context, action *InitialStatusResult, localCert *types.CertificateInfo) error {
func (a *AggSender) executeInitialStatusAction(ctx context.Context,
action *InitialStatusResult, localCert *types.CertificateInfo) error {
a.log.Infof("recovery: action: %s", action.String())
switch action.Action {
case InitialStatusActionNone:
Expand Down
Loading

0 comments on commit f258b06

Please sign in to comment.