fix monitor desktop unknown recovery

This commit is contained in:
2026-06-22 15:38:06 +08:00
parent 365a41597e
commit 12681105f2
8 changed files with 162 additions and 39 deletions
@@ -1,11 +1,13 @@
package app
import (
"errors"
"regexp"
"strings"
"testing"
"github.com/geo-platform/tenant-api/internal/shared/response"
"github.com/geo-platform/tenant-api/internal/tenant/repository"
)
func TestDesktopTaskRecoverySelectQueryMatchesRecoveredLeaseScanOrder(t *testing.T) {
@@ -138,19 +140,34 @@ func TestResolvePublishRecoveryOutcome(t *testing.T) {
}
}
func TestNormalizeDesktopTaskCompletionStatusPreservesUnknown(t *testing.T) {
func TestNormalizeDesktopTaskCompletionStatusForKindFailsMonitorUnknown(t *testing.T) {
t.Parallel()
if got := normalizeDesktopTaskCompletionStatus("unknown"); got != "unknown" {
t.Fatalf("normalizeDesktopTaskCompletionStatus(unknown) = %q, want unknown", got)
if got := normalizeDesktopTaskCompletionStatusForKind("monitor", "unknown"); got != "failed" {
t.Fatalf("monitor completion status = %q, want failed", got)
}
if got := normalizeDesktopTaskCompletionStatusForKind("publish", "unknown"); got != "unknown" {
t.Fatalf("publish completion status = %q, want unknown", got)
}
}
func TestNormalizeDesktopTaskViewStatusOnlyMapsPublishUnknownToFailed(t *testing.T) {
func TestClassifyLeaseErrorDefersQueuedMonitorTask(t *testing.T) {
t.Parallel()
if got := normalizeDesktopTaskViewStatus("monitor", "unknown"); got != "unknown" {
t.Fatalf("monitor unknown view status = %q, want unknown", got)
task := &repository.DesktopTask{
Kind: "monitor",
Status: "queued",
}
if got := classifyDesktopTaskLeaseState(task); !errors.Is(got, errDesktopTaskLeaseDeferred) {
t.Fatalf("classifyDesktopTaskLeaseState() = %v, want deferred", got)
}
}
func TestNormalizeDesktopTaskViewStatusMapsMonitorAndPublishUnknownToFailed(t *testing.T) {
t.Parallel()
if got := normalizeDesktopTaskViewStatus("monitor", "unknown"); got != "failed" {
t.Fatalf("monitor unknown view status = %q, want failed", got)
}
if got := normalizeDesktopTaskViewStatus("publish", "unknown"); got != "failed" {
t.Fatalf("publish unknown view status = %q, want failed", got)