Files
wehub-resource-sync f99010fae1
CI / lint (push) Failing after 1s
CI / frontend (push) Failing after 1s
CI / scripts (push) Failing after 1s
CI / Go Test (ubuntu-latest) (push) Failing after 0s
CI / frontend-node-25 (push) Failing after 1s
CI / docs (push) Failing after 0s
CI / coverage (push) Failing after 0s
CI / e2e (push) Failing after 0s
Docker / build-and-push (push) Failing after 1s
CI / integration (push) Failing after 4m43s
CI / Go Test (windows-latest) (push) Has been cancelled
CI / Desktop Unit Tests (Windows) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Linux (arm64)) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Linux) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Windows) (push) Has been cancelled
Desktop Artifacts (macOS) / Desktop Build (macOS (aarch64)) (push) Has been cancelled
Desktop Artifacts (macOS) / Desktop Build (macOS (x86_64)) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:30:36 +08:00

38 lines
1.1 KiB
Go

package db
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestFileBackedSessionCount_ExcludesNonDevinNonFileBackedAgents(
t *testing.T,
) {
d := testDB(t)
ctx := context.Background()
// Insert a claude-ai session (non-file-backed).
insertSession(t, d, "claude-ai:test-1", "claude.ai",
func(s *Session) { s.Agent = "claude-ai" })
// Insert a warp session (non-Devin, non-file-backed).
insertSession(t, d, "warp:test-1", "myproject",
func(s *Session) { s.Agent = "warp" })
// Insert a devin session (provider-backed local source; FileBased=false but
// still protected by resync counting).
insertSession(t, d, "devin:test-1", "myproject",
func(s *Session) { s.Agent = "devin" })
// Insert a claude session (file-backed).
insertSession(t, d, "test-file-session", "myproject")
count, err := d.FileBackedSessionCount(ctx)
require.NoError(t, err, "FileBackedSessionCount")
assert.Equal(t, 2, count,
"FileBackedSessionCount should include claude plus devin, but exclude other non-file-backed agents")
}