50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package cli
|
|
|
|
import (
|
|
"context"
|
|
|
|
abci "github.com/cometbft/cometbft/api/cometbft/abci/v1"
|
|
cmtbytes "github.com/cometbft/cometbft/libs/bytes"
|
|
rpcclient "github.com/cometbft/cometbft/rpc/client"
|
|
rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock"
|
|
coretypes "github.com/cometbft/cometbft/rpc/core/types"
|
|
cmttypes "github.com/cometbft/cometbft/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/client"
|
|
)
|
|
|
|
var _ client.CometRPC = (*MockCometRPC)(nil)
|
|
|
|
type MockCometRPC struct {
|
|
rpcclientmock.Client
|
|
|
|
responseQuery abci.QueryResponse
|
|
}
|
|
|
|
// NewMockCometRPC returns a mock CometBFT RPC implementation.
|
|
// It is used for CLI testing.
|
|
func NewMockCometRPC(respQuery abci.QueryResponse) MockCometRPC {
|
|
return MockCometRPC{responseQuery: respQuery}
|
|
}
|
|
|
|
// NewMockCometRPCWithValue returns a mock CometBFT RPC implementation with value only.
|
|
// It is used for CLI testing.
|
|
func NewMockCometRPCWithValue(bz []byte) MockCometRPC {
|
|
return MockCometRPC{responseQuery: abci.QueryResponse{
|
|
Value: bz,
|
|
}}
|
|
}
|
|
|
|
func (MockCometRPC) BroadcastTxSync(context.Context, cmttypes.Tx) (*coretypes.ResultBroadcastTx, error) {
|
|
return &coretypes.ResultBroadcastTx{Code: 0}, nil
|
|
}
|
|
|
|
func (m MockCometRPC) ABCIQueryWithOptions(
|
|
_ context.Context,
|
|
_ string,
|
|
_ cmtbytes.HexBytes,
|
|
_ rpcclient.ABCIQueryOptions,
|
|
) (*coretypes.ResultABCIQuery, error) {
|
|
return &coretypes.ResultABCIQuery{Response: m.responseQuery}, nil
|
|
}
|