2018-03-17 18:03:25 -07:00
|
|
|
package types
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
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-03-19 15:31:23 -07:00
|
|
|
CodeUnknownAddress,
|
2018-03-17 18:03:25 -07:00
|
|
|
CodeInvalidPubKey,
|
|
|
|
CodeGenesisParse,
|
|
|
|
}
|
|
|
|
|
|
|
|
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-03-19 15:31:23 -07:00
|
|
|
ErrUnknownAddress,
|
2018-03-17 18:03:25 -07:00
|
|
|
ErrInvalidPubKey,
|
|
|
|
ErrGenesisParse,
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestCodeType(t *testing.T) {
|
|
|
|
assert.True(t, CodeOK.IsOK())
|
|
|
|
|
|
|
|
for _, c := range codeTypes {
|
|
|
|
assert.False(t, c.IsOK())
|
|
|
|
msg := CodeToDefaultMsg(c)
|
|
|
|
assert.False(t, strings.HasPrefix(msg, "Unknown code"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestErrFn(t *testing.T) {
|
|
|
|
for i, errFn := range errFns {
|
|
|
|
err := errFn("")
|
|
|
|
codeType := codeTypes[i]
|
|
|
|
assert.Equal(t, err.ABCICode(), codeType)
|
|
|
|
assert.Equal(t, err.Result().Code, codeType)
|
|
|
|
}
|
|
|
|
}
|