Files
LinkPort/cmd/linkport/database_command_test.go
T

33 lines
771 B
Go

package main
import (
"context"
"linkport/internal/desktop"
"linkport/internal/store"
"path/filepath"
"testing"
)
func TestRestoreCommandRejectsRunningService(t *testing.T) {
path := filepath.Join(t.TempDir(), "data.sqlite")
t.Setenv("LINKPORT_DATA", path)
prepared, err := desktop.Prepare()
if err != nil {
t.Fatal(err)
}
defer prepared.Close()
s, err := store.OpenPortable(path, nil)
if err != nil {
t.Fatal(err)
}
defer s.Close()
snapshot := filepath.Join(t.TempDir(), "snapshot.sqlite")
info, err := s.DatabaseSnapshot(context.Background(), snapshot)
if err != nil {
t.Fatal(err)
}
if err = databaseCommand([]string{"restore-database", snapshot, "--confirm-sha256", info.SHA256}); err == nil {
t.Fatal("restored a running service")
}
}