internal/smoke/userca_test.go
Ref: Size: 833 B History
package smoke
import (
"os"
"path/filepath"
"testing"
"golang.org/x/crypto/ssh"
)
func TestLoadOrCreateUserCACreatesThenReuses(t *testing.T) {
dir := t.TempDir()
path := filepath.Join(dir, "nested", "user_ca")
s1, err := loadOrCreateUserCA(path)
if err != nil {
t.Fatalf("loadOrCreateUserCA (create): %v", err)
}
s2, err := loadOrCreateUserCA(path)
if err != nil {
t.Fatalf("loadOrCreateUserCA (reuse): %v", err)
}
line1 := string(ssh.MarshalAuthorizedKey(s1.PublicKey()))
line2 := string(ssh.MarshalAuthorizedKey(s2.PublicKey()))
if line1 != line2 {
t.Errorf("public keys differ across calls: %q vs %q", line1, line2)
}
info, err := os.Stat(path)
if err != nil {
t.Fatalf("stat key file: %v", err)
}
if mode := info.Mode().Perm(); mode != 0o600 {
t.Errorf("file mode = %o, want 0600", mode)
}
}