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  }