Merge PR #5927: Fix parseQueryResponse
This commit is contained in:
parent
e0c1774e20
commit
22422c6de1
|
@ -6,7 +6,9 @@ import (
|
|||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/gogo/protobuf/jsonpb"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/viper"
|
||||
|
||||
|
@ -142,7 +144,7 @@ func CalculateGas(
|
|||
return sdk.SimulationResponse{}, 0, err
|
||||
}
|
||||
|
||||
simRes, err := parseQueryResponse(cdc, rawRes)
|
||||
simRes, err := parseQueryResponse(rawRes)
|
||||
if err != nil {
|
||||
return sdk.SimulationResponse{}, 0, err
|
||||
}
|
||||
|
@ -286,9 +288,9 @@ func adjustGasEstimate(estimate uint64, adjustment float64) uint64 {
|
|||
return uint64(adjustment * float64(estimate))
|
||||
}
|
||||
|
||||
func parseQueryResponse(cdc *codec.Codec, rawRes []byte) (sdk.SimulationResponse, error) {
|
||||
func parseQueryResponse(bz []byte) (sdk.SimulationResponse, error) {
|
||||
var simRes sdk.SimulationResponse
|
||||
if err := cdc.UnmarshalBinaryBare(rawRes, &simRes); err != nil {
|
||||
if err := jsonpb.Unmarshal(strings.NewReader(string(bz)), &simRes); err != nil {
|
||||
return sdk.SimulationResponse{}, err
|
||||
}
|
||||
|
||||
|
|
|
@ -22,19 +22,20 @@ var (
|
|||
)
|
||||
|
||||
func TestParseQueryResponse(t *testing.T) {
|
||||
cdc := makeCodec()
|
||||
simRes := sdk.SimulationResponse{
|
||||
simRes := &sdk.SimulationResponse{
|
||||
GasInfo: sdk.GasInfo{GasUsed: 10, GasWanted: 20},
|
||||
Result: &sdk.Result{Data: []byte("tx data"), Log: "log"},
|
||||
}
|
||||
|
||||
bz := cdc.MustMarshalBinaryBare(simRes)
|
||||
res, err := parseQueryResponse(cdc, bz)
|
||||
bz, err := codec.ProtoMarshalJSON(simRes)
|
||||
require.NoError(t, err)
|
||||
|
||||
res, err := parseQueryResponse(bz)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 10, int(res.GasInfo.GasUsed))
|
||||
require.NotNil(t, res.Result)
|
||||
|
||||
res, err = parseQueryResponse(cdc, []byte("fuzzy"))
|
||||
res, err = parseQueryResponse([]byte("fuzzy"))
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
|
@ -45,12 +46,13 @@ func TestCalculateGas(t *testing.T) {
|
|||
if wantErr {
|
||||
return nil, 0, errors.New("query failed")
|
||||
}
|
||||
simRes := sdk.SimulationResponse{
|
||||
simRes := &sdk.SimulationResponse{
|
||||
GasInfo: sdk.GasInfo{GasUsed: gasUsed, GasWanted: gasUsed},
|
||||
Result: &sdk.Result{Data: []byte("tx data"), Log: "log"},
|
||||
}
|
||||
|
||||
return cdc.MustMarshalBinaryBare(simRes), 0, nil
|
||||
bz, _ := codec.ProtoMarshalJSON(simRes)
|
||||
return bz, 0, nil
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue