53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package backend
|
|||
|
|||
import (
|
|||
"fmt"
|
|||
|
|||
"github.com/tendermint/tendermint/proto/tendermint/crypto"
|
|||
)
|
|||
|
|||
func mookProofs(num int, withData bool) *crypto.ProofOps {
|
|||
var proofOps *crypto.ProofOps
|
|||
if num > 0 {
|
|||
proofOps = new(crypto.ProofOps)
|
|||
for i := 0; i < num; i++ {
|
|||
proof := crypto.ProofOp{}
|
|||
if withData {
|
|||
proof.Data = []byte("\n\031\n\003KEY\022\005VALUE\032\013\010\001\030\001 \001*\003\000\002\002")
|
|||
}
|
|||
proofOps.Ops = append(proofOps.Ops, proof)
|
|||
}
|
|||
}
|
|||
return proofOps
|
|||
}
|
|||
|
|||
func (suite *BackendTestSuite) TestGetHexProofs() {
|
|||
defaultRes := []string{""}
|
|||
testCases := []struct {
|
|||
name string
|
|||
proof *crypto.ProofOps
|
|||
exp []string
|
|||
}{
|
|||
{
|
|||
"no proof provided",
|
|||
mookProofs(0, false),
|
|||
defaultRes,
|
|||
},
|
|||
{
|
|||
"no proof data provided",
|
|||
mookProofs(1, false),
|
|||
defaultRes,
|
|||
},
|
|||
{
|
|||
"valid proof provided",
|
|||
mookProofs(1, true),
|
|||
[]string{"0x0a190a034b4559120556414c55451a0b0801180120012a03000202"},
|
|||
},
|
|||
}
|
|||
for _, tc := range testCases {
|
|||
suite.Run(fmt.Sprintf("Case %s", tc.name), func() {
|
|||
suite.Require().Equal(tc.exp, GetHexProofs(tc.proof))
|
|||
})
|
|||
}
|
|||
}
|