79 lines
1.7 KiB
Go
79 lines
1.7 KiB
Go
package opentimestamps
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMsgAppend(t *testing.T) {
|
|
msg := []byte("123")
|
|
res, err := msgAppend(msg, []byte("456"))
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, "123456", string(res))
|
|
// make sure changes to input msg don't affect output
|
|
msg[0] = byte('0')
|
|
assert.Equal(t, "123456", string(res))
|
|
}
|
|
|
|
func TestMsgPrepend(t *testing.T) {
|
|
msg := []byte("123")
|
|
res, err := msgPrepend(msg, []byte("abc"))
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, "abc123", string(res))
|
|
// make sure changes to input msg don't affect output
|
|
msg[0] = byte('0')
|
|
assert.Equal(t, "abc123", string(res))
|
|
}
|
|
|
|
func TestMsgReverse(t *testing.T) {
|
|
_, err := msgReverse([]byte{})
|
|
assert.Error(t, err)
|
|
res, err := msgReverse([]byte{1, 2, 3})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, []byte{3, 2, 1}, res)
|
|
}
|
|
|
|
func TestMsgHexlify(t *testing.T) {
|
|
_, err := msgHexlify([]byte{})
|
|
assert.Error(t, err)
|
|
res, err := msgHexlify([]byte{1, 2, 3, 0xff})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, []byte("010203ff"), res)
|
|
}
|
|
|
|
func TestMsgSHA1(t *testing.T) {
|
|
out, err := msgSHA1([]byte{})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t,
|
|
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
|
|
hex.EncodeToString(out),
|
|
)
|
|
}
|
|
|
|
func TestMsgSHA256(t *testing.T) {
|
|
out, err := msgSHA256([]byte{})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t,
|
|
"e3b0c44298fc1c149afbf4c8996fb924"+
|
|
"27ae41e4649b934ca495991b7852b855",
|
|
hex.EncodeToString(out),
|
|
)
|
|
}
|
|
|
|
func TestRIPEMD160(t *testing.T) {
|
|
out, err := msgRIPEMD160([]byte{})
|
|
assert.Equal(t,
|
|
"9c1185a5c5e9fc54612808977ee8f548b2258d31",
|
|
hex.EncodeToString(out),
|
|
)
|
|
|
|
out, err = msgRIPEMD160(out)
|
|
assert.NoError(t, err)
|
|
assert.Equal(t,
|
|
"38bbc57e4cbe8b6a1d2c999ef62503e0a6e58109",
|
|
hex.EncodeToString(out),
|
|
)
|
|
}
|