34 lines
717 B
Go
34 lines
717 B
Go
package roots
|
|
|
|
import (
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
func TestGeneratePrivateKey(t *testing.T) {
|
|
sk, err := GeneratePrivateKey()
|
|
|
|
assert.NoError(t, err)
|
|
if !Hex64Pattern.MatchString(sk) {
|
|
t.Errorf("invalid private key format: %s", sk)
|
|
}
|
|
}
|
|
|
|
func TestGenerateUniquePrivateKeys(t *testing.T) {
|
|
sk1, _ := GeneratePrivateKey()
|
|
sk2, _ := GeneratePrivateKey()
|
|
assert.NotEqual(t, sk1, sk2)
|
|
}
|
|
|
|
func TestGetPublicKey(t *testing.T) {
|
|
pk, err := GetPublicKey(testSK)
|
|
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, testPK, pk)
|
|
}
|
|
|
|
func TestGetPublicKeyInvalidPrivateKey(t *testing.T) {
|
|
_, err := GetPublicKey("abc123")
|
|
assert.ErrorContains(t, err, "private key must be 64 lowercase hex characters")
|
|
}
|