2024-09-03 15:40:55 -04:00
|
|
|
package varsig_test
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/base64"
|
|
|
|
|
"fmt"
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/libp2p/go-libp2p/core/crypto/pb"
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
2024-09-05 18:49:01 +02:00
|
|
|
|
|
|
|
|
"github.com/ucan-wg/go-ucan/internal/varsig"
|
2024-09-03 15:40:55 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestDecode(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
notAHeader := base64.RawStdEncoding.EncodeToString([]byte("not a header"))
|
2024-09-04 09:03:03 -04:00
|
|
|
keyType, err := varsig.Decode([]byte(notAHeader))
|
2024-09-03 15:40:55 -04:00
|
|
|
assert.Equal(t, pb.KeyType(-1), keyType)
|
|
|
|
|
assert.ErrorIs(t, err, varsig.ErrUnknownHeader)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func ExampleDecode() {
|
2024-09-04 09:03:03 -04:00
|
|
|
keyType, _ := varsig.Decode([]byte("NIUkEoACcQ"))
|
2024-09-03 15:40:55 -04:00
|
|
|
fmt.Println(keyType.String())
|
|
|
|
|
// Output:
|
|
|
|
|
// RSA
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestEncode(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
header, err := varsig.Encode(pb.KeyType(99))
|
2024-09-04 09:03:03 -04:00
|
|
|
assert.Nil(t, header)
|
2024-09-03 15:40:55 -04:00
|
|
|
assert.ErrorIs(t, err, varsig.ErrUnknownKeyType)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func ExampleEncode() {
|
|
|
|
|
header, _ := varsig.Encode(pb.KeyType_RSA)
|
2024-09-04 09:03:03 -04:00
|
|
|
fmt.Println(string(header))
|
2024-09-03 15:40:55 -04:00
|
|
|
|
|
|
|
|
// Output:
|
|
|
|
|
// NIUkEoACcQ
|
|
|
|
|
}
|