Replace Python launcher with native Go UI

This commit is contained in:
Storm Dragon
2026-09-03 11:43:21 -04:00
parent 0d4daeb45a
commit afd4148e9a
14 changed files with 2428 additions and 961 deletions
+65
View File
@@ -0,0 +1,65 @@
package main
import (
"os"
"path/filepath"
"strings"
"testing"
)
func TestResolvePasswordUsesDirectValue(t *testing.T) {
password, err := resolve_password(" secret ", "")
if err != nil {
t.Fatal(err)
}
if password != " secret " {
t.Fatalf("password = %q; want whitespace preserved", password)
}
}
func TestResolvePasswordReadsProtectedFile(t *testing.T) {
path := filepath.Join(t.TempDir(), "password")
if err := os.WriteFile(path, []byte(" secret value \n"), 0600); err != nil {
t.Fatal(err)
}
password, err := resolve_password("", path)
if err != nil {
t.Fatal(err)
}
if password != " secret value " {
t.Fatalf("password = %q; want surrounding spaces preserved", password)
}
}
func TestResolvePasswordRejectsAmbiguousSources(t *testing.T) {
path := filepath.Join(t.TempDir(), "password")
if err := os.WriteFile(path, []byte("file secret"), 0600); err != nil {
t.Fatal(err)
}
_, err := resolve_password("argument secret", path)
if err == nil || !strings.Contains(err.Error(), "cannot be used together") {
t.Fatalf("resolve_password error = %v", err)
}
}
func TestResolvePasswordRejectsMultipleLines(t *testing.T) {
path := filepath.Join(t.TempDir(), "password")
if err := os.WriteFile(path, []byte("first\nsecond\n"), 0600); err != nil {
t.Fatal(err)
}
_, err := resolve_password("", path)
if err == nil || !strings.Contains(err.Error(), "exactly one line") {
t.Fatalf("resolve_password error = %v", err)
}
}
func TestResolvePasswordRejectsOversizedFile(t *testing.T) {
path := filepath.Join(t.TempDir(), "password")
if err := os.WriteFile(path, []byte(strings.Repeat("x", 4097)), 0600); err != nil {
t.Fatal(err)
}
_, err := resolve_password("", path)
if err == nil || !strings.Contains(err.Error(), "too large") {
t.Fatalf("resolve_password error = %v", err)
}
}