loop/swap_server_client_test.go

29 lines
801 B
Go
Raw Permalink Normal View History

package loop
import (
"testing"
looptest "github.com/lightninglabs/loop/test"
"github.com/stretchr/testify/require"
)
// TestParseServerPubKey ensures that parseServerPubKey accepts a valid
// compressed public key and rejects keys with an invalid length or contents.
func TestParseServerPubKey(t *testing.T) {
t.Parallel()
_, pubKey := looptest.CreateKey(1)
pubKeyBytes := pubKey.SerializeCompressed()
parsedKey, err := parseServerPubKey("test key", pubKeyBytes)
require.NoError(t, err)
require.Equal(t, pubKeyBytes, parsedKey[:])
_, err = parseServerPubKey("test key", pubKeyBytes[:32])
require.ErrorContains(t, err, "invalid test key length")
invalidKey := make([]byte, 33)
_, err = parseServerPubKey("test key", invalidKey)
require.ErrorContains(t, err, "invalid test key")
}