55 "testing"
66
77 "cosmossdk.io/log"
8- ds "github.com/ipfs/go-datastore"
98 "github.com/stretchr/testify/assert"
109 "github.com/stretchr/testify/mock"
1110
@@ -20,12 +19,6 @@ import (
2019func newTestManagerWithDA (t * testing.T , da * mocks.DA ) (m * Manager , mockStore * mocks.Store ) {
2120 logger := log .NewNopLogger ()
2221 nodeConf := config .DefaultConfig
23- mockStore = mocks .NewStore (t )
24-
25- // Mock initial metadata reads during manager creation if necessary
26- mockStore .On ("GetMetadata" , mock .Anything , DAIncludedHeightKey ).Return (nil , ds .ErrNotFound ).Maybe ()
27- mockStore .On ("GetMetadata" , mock .Anything , LastBatchDataKey ).Return (nil , ds .ErrNotFound ).Maybe ()
28- mockStore .On ("GetMetadata" , mock .Anything , LastSubmittedHeightKey ).Return (nil , ds .ErrNotFound ).Maybe ()
2922
3023 return & Manager {
3124 store : mockStore ,
@@ -54,39 +47,29 @@ func TestSubmitBatchToDA_Success(t *testing.T) {
5447 assert .NoError (t , err )
5548}
5649
57- func TestSubmitBatchToDA_AlreadyInMempool (t * testing.T ) {
50+ func TestSubmitBatchToDA_Failure (t * testing.T ) {
5851 da := & mocks.DA {}
5952 m , _ := newTestManagerWithDA (t , da )
6053
6154 batch := coresequencer.Batch {Transactions : [][]byte {[]byte ("tx1" ), []byte ("tx2" )}}
6255
63- // Simulate DA success
64- da .On ("GasMultiplier" , mock .Anything ).Return (2.0 , nil )
65- da .On ("SubmitWithOptions" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).
66- Return (nil , coreda .ErrTxAlreadyInMempool )
67-
68- err := m .submitBatchToDA (context .Background (), batch )
69- assert .Error (t , err )
70- assert .EqualError (t , err , "failed to submit all transactions to DA layer, submitted 0 txs (2 left) after 30 attempts" )
71- }
72-
73- /*
74- func TestSubmitHeadersToDA_Success(t *testing.T) {
75- da := &mocks.DA{}
76- m, mockStore := newTestManagerWithDA(t, da)
77-
78- // Prepare a mock header
79- pendingHeaders, _ := NewPendingHeaders(m.store, m.logger)
80- m.pendingHeaders = pendingHeaders
81-
82- // Simulate DA success
83- da.On("SubmitWithOptions", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).
84- Return([]coreda.ID{[]byte("id")}, nil)
85- da.On("GasMultiplier", mock.Anything).Return(2.0, nil)
86- mockStore.On("Height", mock.Anything).Return(uint64(10))
87-
88- // Call submitHeadersToDA
89- err := m.submitHeadersToDA(context.Background())
90- assert.NoError(t, err)
56+ testCases := []struct {
57+ name string
58+ daError error
59+ }{
60+ {"AlreadyInMempool" , coreda .ErrTxAlreadyInMempool },
61+ {"TimedOut" , coreda .ErrTxTimedOut },
62+ }
63+
64+ for _ , tc := range testCases {
65+ t .Run (tc .name , func (t * testing.T ) {
66+ da .ExpectedCalls = nil // Reset mock expectations for each error
67+ da .On ("GasMultiplier" , mock .Anything ).Return (2.0 , nil )
68+ da .On ("SubmitWithOptions" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).
69+ Return (nil , tc .daError )
70+
71+ err := m .submitBatchToDA (context .Background (), batch )
72+ assert .Error (t , err , "expected error" )
73+ })
74+ }
9175}
92- */
0 commit comments