2018-03-17 18:03:25 -07:00
|
|
|
package types
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
2018-06-29 18:10:15 -07:00
|
|
|
"github.com/stretchr/testify/require"
|
2018-03-17 18:03:25 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
var codeTypes = []CodeType{
|
|
|
|
CodeInternal,
|
2018-03-20 18:40:58 -07:00
|
|
|
CodeTxDecode,
|
2018-03-17 18:03:25 -07:00
|
|
|
CodeInvalidSequence,
|
|
|
|
CodeUnauthorized,
|
|
|
|
CodeInsufficientFunds,
|
|
|
|
CodeUnknownRequest,
|
2018-08-06 12:00:49 -07:00
|
|
|
CodeInvalidAddress,
|
2018-03-17 18:03:25 -07:00
|
|
|
CodeInvalidPubKey,
|
2018-08-06 12:00:49 -07:00
|
|
|
CodeUnknownAddress,
|
|
|
|
CodeInsufficientCoins,
|
|
|
|
CodeInvalidCoins,
|
|
|
|
CodeOutOfGas,
|
|
|
|
CodeMemoTooLarge,
|
2018-03-17 18:03:25 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
type errFn func(msg string) Error
|
|
|
|
|
|
|
|
var errFns = []errFn{
|
|
|
|
ErrInternal,
|
2018-03-20 18:40:58 -07:00
|
|
|
ErrTxDecode,
|
2018-03-17 18:03:25 -07:00
|
|
|
ErrInvalidSequence,
|
|
|
|
ErrUnauthorized,
|
|
|
|
ErrInsufficientFunds,
|
|
|
|
ErrUnknownRequest,
|
2018-08-06 12:00:49 -07:00
|
|
|
ErrInvalidAddress,
|
2018-03-17 18:03:25 -07:00
|
|
|
ErrInvalidPubKey,
|
2018-08-06 12:00:49 -07:00
|
|
|
ErrUnknownAddress,
|
|
|
|
ErrInsufficientCoins,
|
|
|
|
ErrInvalidCoins,
|
|
|
|
ErrOutOfGas,
|
|
|
|
ErrMemoTooLarge,
|
2018-03-17 18:03:25 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestCodeType(t *testing.T) {
|
2018-06-29 18:10:15 -07:00
|
|
|
require.True(t, ABCICodeOK.IsOK())
|
2018-03-17 18:03:25 -07:00
|
|
|
|
2018-08-06 12:00:49 -07:00
|
|
|
for tcnum, c := range codeTypes {
|
2018-03-17 18:03:25 -07:00
|
|
|
msg := CodeToDefaultMsg(c)
|
2018-08-06 12:00:49 -07:00
|
|
|
require.NotEqual(t, unknownCodeMsg(c), msg, "Code expected to be known. tc #%d, code %d, msg %s", tcnum, c, msg)
|
2018-03-17 18:03:25 -07:00
|
|
|
}
|
2018-08-06 12:00:49 -07:00
|
|
|
|
|
|
|
msg := CodeToDefaultMsg(CodeOK)
|
|
|
|
require.Equal(t, unknownCodeMsg(CodeOK), msg)
|
2018-03-17 18:03:25 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestErrFn(t *testing.T) {
|
|
|
|
for i, errFn := range errFns {
|
|
|
|
err := errFn("")
|
|
|
|
codeType := codeTypes[i]
|
2018-08-06 12:00:49 -07:00
|
|
|
require.Equal(t, err.Code(), codeType, "Err function expected to return proper code. tc #%d", i)
|
|
|
|
require.Equal(t, err.Result().Code, ToABCICode(CodespaceRoot, codeType), "Err function expected to return proper ABCICode. tc #%d")
|
2018-03-17 18:03:25 -07:00
|
|
|
}
|
2018-08-06 12:00:49 -07:00
|
|
|
|
|
|
|
require.Equal(t, ABCICodeOK, ToABCICode(CodespaceRoot, CodeOK))
|
2018-03-17 18:03:25 -07:00
|
|
|
}
|