cosmos-sdk/baseapp/oe/optimistic_execution_test.go
mergify[bot] fcb808a54c
feat(log): remove core dependency and update core interface to be dependency free (backport #21045) (#21089)
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-07-26 13:43:42 +02:00

35 lines
790 B
Go

package oe
import (
"context"
"errors"
"testing"
abci "github.com/cometbft/cometbft/api/cometbft/abci/v1"
"github.com/stretchr/testify/assert"
"cosmossdk.io/log"
)
func testFinalizeBlock(_ context.Context, _ *abci.FinalizeBlockRequest) (*abci.FinalizeBlockResponse, error) {
return nil, errors.New("test error")
}
func TestOptimisticExecution(t *testing.T) {
oe := NewOptimisticExecution(log.NewNopLogger(), testFinalizeBlock)
assert.True(t, oe.Enabled())
oe.Execute(&abci.ProcessProposalRequest{
Hash: []byte("test"),
})
assert.True(t, oe.Initialized())
resp, err := oe.WaitResult()
assert.Nil(t, resp)
assert.EqualError(t, err, "test error")
assert.False(t, oe.AbortIfNeeded([]byte("test")))
assert.True(t, oe.AbortIfNeeded([]byte("wrong_hash")))
oe.Reset()
}