github.com/decred/dcrlnd@v0.7.6/channeldb/mp_payment_test.go (about) 1 package channeldb 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 // TestLazySessionKeyDeserialize tests that we can read htlc attempt session 11 // keys that were previously serialized as a private key as raw bytes. 12 func TestLazySessionKeyDeserialize(t *testing.T) { 13 var b bytes.Buffer 14 15 // Serialize as a private key. 16 err := WriteElements(&b, priv) 17 require.NoError(t, err) 18 19 // Deserialize into [secp256k1.PrivKeyBytesLen]byte. 20 attempt := HTLCAttemptInfo{} 21 err = ReadElements(&b, &attempt.sessionKey) 22 require.NoError(t, err) 23 require.Zero(t, b.Len()) 24 25 sessionKey := attempt.SessionKey() 26 require.Equal(t, priv, sessionKey) 27 }