package security import ( "os" "path/filepath" "testing" ) func TestGenerateKey(t *testing.T) { k1, err := GenerateKey() if err != nil { t.Fatalf("GenerateKey: %v", err) } k2, err := GenerateKey() if err != nil { t.Fatalf("GenerateKey: %v", err) } if len(k1) != 64 { t.Errorf("key length = %d, want 64 hex chars", len(k1)) } if k1 == k2 { t.Error("two generated keys are identical") } } func TestGenerateSelfSignedCert(t *testing.T) { dir := t.TempDir() certFile := filepath.Join(dir, "cert.pem") keyFile := filepath.Join(dir, "key.pem") if err := GenerateSelfSignedCert(certFile, keyFile, []string{"localhost", "127.0.0.1"}); err != nil { t.Fatalf("GenerateSelfSignedCert: %v", err) } for _, f := range []string{certFile, keyFile} { info, err := os.Stat(f) if err != nil { t.Fatalf("Stat %s: %v", f, err) } if info.Size() == 0 { t.Errorf("%s is empty", f) } } }