arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
hermez-node/common/tx_test.go
common/tx_test.goRaw
 1package common
 2
 3import (
 4	"database/sql"
 5	"database/sql/driver"
 6	"testing"
 7
 8	"github.com/stretchr/testify/assert"
 9)
10
11func TestTxIDScannerValue(t *testing.T) {
12	txid0 := &TxID{}
13	txid1 := &TxID{}
14	txid0B := [12]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
15	txid1B := [12]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
16	copy(txid0[:], txid0B[:])
17	copy(txid1[:], txid1B[:])
18
19	var value driver.Valuer
20	var scan sql.Scanner
21	value = txid0
22	scan = txid1
23	fromDB, err := value.Value()
24	assert.NoError(t, err)
25	assert.NoError(t, scan.Scan(fromDB))
26	assert.Equal(t, value, scan)
27}
28
29func TestTxIDMarshalers(t *testing.T) {
30	h := []byte("0x00000000000001e240004700")
31	var txid TxID
32	err := txid.UnmarshalText(h)
33	assert.Nil(t, err)
34	assert.Equal(t, h, []byte(txid.String()))
35
36	h2, err := txid.MarshalText()
37	assert.Nil(t, err)
38	assert.Equal(t, h, h2)
39
40	var txid2 TxID
41	err = txid2.UnmarshalText(h2)
42	assert.Nil(t, err)
43	assert.Equal(t, h2, []byte(txid2.String()))
44	assert.Equal(t, h, h2)
45}