Add managed Gitea updates and server installer

This commit is contained in:
maxim
2026-07-31 22:16:51 +03:00
parent 22f40f3830
commit 3f881a59e5
10 changed files with 274 additions and 2 deletions

27
update_test.go Normal file
View File

@@ -0,0 +1,27 @@
package main
import (
"os"
"path/filepath"
"testing"
)
func TestReadUpdateStatus(t *testing.T) {
path := filepath.Join(t.TempDir(), "status.json")
if err := os.WriteFile(path, []byte(`{"currentVersion":"old","availableVersion":"v2.0.0","state":"available","mode":"notify","message":"Доступно обновление"}`), 0o600); err != nil {
t.Fatal(err)
}
t.Setenv("DASHBOARD_UPDATE_STATUS_PATH", path)
status := readUpdateStatus()
if status.CurrentVersion != version || status.AvailableVersion != "v2.0.0" || status.State != "available" {
t.Fatalf("unexpected update status: %+v", status)
}
}
func TestReadUpdateStatusWithoutFile(t *testing.T) {
t.Setenv("DASHBOARD_UPDATE_STATUS_PATH", filepath.Join(t.TempDir(), "missing.json"))
status := readUpdateStatus()
if status.CurrentVersion != version || status.State != "unknown" {
t.Fatalf("unexpected default update status: %+v", status)
}
}