Support attaching existing Restic repositories

This commit is contained in:
Mikei386
2026-06-15 12:01:24 +02:00
parent e97dde0ed8
commit 3327f21881
11 changed files with 115 additions and 15 deletions
+41
View File
@@ -0,0 +1,41 @@
package service
import (
"os"
"path/filepath"
"strings"
"testing"
)
func TestValidateExistingRepositoryPathAcceptsRepositoryRoot(t *testing.T) {
root := t.TempDir()
if err := os.WriteFile(filepath.Join(root, "config"), []byte("restic"), 0600); err != nil {
t.Fatal(err)
}
if err := validateExistingRepositoryPath(root); err != nil {
t.Fatalf("repository root rejected: %v", err)
}
}
func TestValidateExistingRepositoryPathSuggestsDirectChild(t *testing.T) {
root := t.TempDir()
repository := filepath.Join(root, "server-backup")
if err := os.Mkdir(repository, 0700); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(repository, "config"), []byte("restic"), 0600); err != nil {
t.Fatal(err)
}
err := validateExistingRepositoryPath(root)
if err == nil || !strings.Contains(err.Error(), repository) {
t.Fatalf("missing repository suggestion: %v", err)
}
}
func TestValidateExistingRepositoryPathExplainsMissingConfig(t *testing.T) {
root := t.TempDir()
err := validateExistingRepositoryPath(root)
if err == nil || !strings.Contains(err.Error(), "config, data, index, keys und snapshots") {
t.Fatalf("missing layout guidance: %v", err)
}
}