mirror of
https://github.com/sosedoff/pgweb.git
synced 2024-12-14 19:21:46 +03:00
5803295174
* Added binary codec `base58` as well as improving the help for `--binary-codec` flag * Added tests for base58 * Fixed tests Co-authored-by: Matthieu Vachon <matt@streamingfast.io>
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package client
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestSetBinaryCodec(t *testing.T) {
|
|
examples := []struct {
|
|
input string
|
|
err error
|
|
}{
|
|
{input: CodecNone, err: nil},
|
|
{input: CodecBase58, err: nil},
|
|
{input: CodecBase64, err: nil},
|
|
{input: CodecHex, err: nil},
|
|
{input: "foobar", err: errors.New("invalid binary codec: foobar")},
|
|
}
|
|
|
|
for _, ex := range examples {
|
|
t.Run(ex.input, func(t *testing.T) {
|
|
val := BinaryCodec
|
|
defer func() {
|
|
BinaryCodec = val
|
|
}()
|
|
|
|
assert.Equal(t, ex.err, SetBinaryCodec(ex.input))
|
|
})
|
|
}
|
|
}
|
|
|
|
func Test_encodeBinaryData(t *testing.T) {
|
|
examples := []struct {
|
|
input string
|
|
expected string
|
|
encoding string
|
|
}{
|
|
{input: "hello world", expected: "hello world", encoding: CodecNone},
|
|
{input: "hello world", expected: "StV1DL6CwTryKyV", encoding: CodecBase58},
|
|
{input: "hello world", expected: "aGVsbG8gd29ybGQ=", encoding: CodecBase64},
|
|
{input: "hello world", expected: "68656c6c6f20776f726c64", encoding: CodecHex},
|
|
}
|
|
|
|
for _, ex := range examples {
|
|
t.Run(ex.input, func(t *testing.T) {
|
|
assert.Equal(t, ex.expected, encodeBinaryData([]byte(ex.input), ex.encoding))
|
|
})
|
|
}
|
|
}
|