- package types
-
- import (
- "bytes"
- "encoding/json"
- "strings"
- "testing"
-
- "github.com/gogo/protobuf/proto"
- "github.com/stretchr/testify/assert"
- cmn "github.com/tendermint/tmlibs/common"
- )
-
- func TestMarshalJSON(t *testing.T) {
- b, err := json.Marshal(&ResponseDeliverTx{})
- assert.Nil(t, err)
- // Do not include empty fields.
- assert.False(t, strings.Contains(string(b), "code"))
-
- r1 := ResponseCheckTx{
- Code: 1,
- Data: []byte("hello"),
- GasWanted: 43,
- Fee: cmn.KI64Pair{[]byte("pho"), 12},
- }
- b, err = json.Marshal(&r1)
- assert.Nil(t, err)
-
- var r2 ResponseCheckTx
- err = json.Unmarshal(b, &r2)
- assert.Nil(t, err)
- assert.Equal(t, r1, r2)
- }
-
- func TestWriteReadMessageSimple(t *testing.T) {
- cases := []proto.Message{
- &RequestEcho{
- Message: "Hello",
- },
- }
-
- for _, c := range cases {
- buf := new(bytes.Buffer)
- err := WriteMessage(c, buf)
- assert.Nil(t, err)
-
- msg := new(RequestEcho)
- err = ReadMessage(buf, msg)
- assert.Nil(t, err)
-
- assert.Equal(t, c, msg)
- }
- }
-
- func TestWriteReadMessage(t *testing.T) {
- cases := []proto.Message{
- &Header{
- NumTxs: 4,
- },
- // TODO: add the rest
- }
-
- for _, c := range cases {
- buf := new(bytes.Buffer)
- err := WriteMessage(c, buf)
- assert.Nil(t, err)
-
- msg := new(Header)
- err = ReadMessage(buf, msg)
- assert.Nil(t, err)
-
- assert.Equal(t, c, msg)
- }
- }
|