28 lines
734 B
Go
28 lines
734 B
Go
package clientwg
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"testing"
|
|
)
|
|
|
|
func TestParseKeyBase64(t *testing.T) {
|
|
t.Parallel()
|
|
raw := make([]byte, keySize)
|
|
for index := range raw {
|
|
raw[index] = byte(index + 1)
|
|
}
|
|
key, err := ParseKeyBase64(base64.StdEncoding.EncodeToString(raw))
|
|
if err != nil {
|
|
t.Fatalf("ParseKeyBase64() error = %v", err)
|
|
}
|
|
if key[0] != 1 || key[31] != 32 {
|
|
t.Fatalf("ParseKeyBase64() returned unexpected bytes: first=%d last=%d", key[0], key[31])
|
|
}
|
|
if _, err := ParseKeyBase64("not-base64"); err == nil {
|
|
t.Fatal("ParseKeyBase64() accepted invalid base64")
|
|
}
|
|
if _, err := ParseKeyBase64(base64.StdEncoding.EncodeToString([]byte{1, 2, 3})); err == nil {
|
|
t.Fatal("ParseKeyBase64() accepted a short key")
|
|
}
|
|
}
|