返回 DeepSeek-Reasonix
legacy_empty_session_cleanup_retired_test.go
根目录 / desktop / legacy_empty_session_cleanup_retired_test.go
1 package main
2
3 import (
4 "bytes"
5 "os"
6 "testing"
7
8 "reasonix/desktop/internal/workspacestate"
9 )
10
11 func TestRetiredCleanupDoesNotResumeOrExpandHistoricalBatch(t *testing.T) {
12 a, root := newLegacyCleanupTestApp(t)
13 old, _ := createLegacyCleanupSession(t, a, root, "old-empty-candidate", false)
14 if err := a.initializeLegacyEmptySessionCleanupBatch(); err != nil {
15 t.Fatal(err)
16 }
17 before, err := os.ReadFile(a.legacyCleanup.Path())
18 if err != nil {
19 t.Fatal(err)
20 }
21 newRef, _ := createLegacyCleanupSession(t, a, root, "new-formal-empty", false)
22 for range 3 {
23 if _, err := a.RetryLegacyEmptySessionCleanup(); err == nil {
24 t.Fatal("retired RPC accepted a cleanup action")
25 }
26 }
27 after, err := os.ReadFile(a.legacyCleanup.Path())
28 if err != nil || !bytes.Equal(before, after) {
29 t.Fatalf("retired API changed historical batch: %v", err)
30 }
31 state, err := a.workspaceRegistry().Load(t.Context())
32 if err != nil {
33 t.Fatal(err)
34 }
35 for _, ref := range []string{old.SessionID, newRef.SessionID} {
36 if state.SessionStates[ref].Lifecycle == workspacestate.Archived {
37 t.Fatalf("retired cleanup moved %s", ref)
38 }
39 }
40 }
41
41 lines GO