diff --git a/acme/crypto_test.go b/acme/crypto_test.go new file mode 100644 index 00000000..588d59d2 --- /dev/null +++ b/acme/crypto_test.go @@ -0,0 +1,48 @@ +package acme + +import ( + "crypto/rand" + "crypto/rsa" + "testing" +) + +func TestGeneratePrivateKey(t *testing.T) { + key, err := generatePrivateKey(32) + if err != nil { + t.Error("Error generating private key:", err) + } + if key == nil { + t.Error("Expected key to not be nil, but it was") + } +} + +func TestGenerateCSR(t *testing.T) { + key, err := generatePrivateKey(512) + if err != nil { + t.Fatal("Error generating private key:", err) + } + + csr, err := generateCsr(key, "fizz.buzz") + if err != nil { + t.Error("Error generating CSR:", err) + } + if csr == nil || len(csr) == 0 { + t.Error("Expected CSR with data, but it was nil or length 0") + } +} + +func TestPEMEncode(t *testing.T) { + key, err := rsa.GenerateKey(rand.Reader, 32) + if err != nil { + t.Fatal("Error generating private key:", err) + } + + data := pemEncode(key) + + if data == nil { + t.Fatal("Expected result to not be nil, but it was") + } + if len(data) != 127 { + t.Errorf("Expected PEM encoding to be length 127, but it was %d", len(data)) + } +}