Updated all test files to pass context.Background() as the first parameter to sqlite.New() calls to match the updated function signature. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
132 lines
3.1 KiB
Go
132 lines
3.1 KiB
Go
//go:build integration
|
|
// +build integration
|
|
|
|
package fixtures
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/steveyegge/beads/internal/storage/sqlite"
|
|
"github.com/steveyegge/beads/internal/types"
|
|
)
|
|
|
|
func TestLargeSQLite(t *testing.T) {
|
|
tmpDB := t.TempDir() + "/test.db"
|
|
store, err := sqlite.New(context.Background(), tmpDB)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create storage: %v", err)
|
|
}
|
|
defer store.Close()
|
|
|
|
ctx := context.Background()
|
|
|
|
// Initialize database with prefix
|
|
if err := store.SetConfig(ctx, "issue_prefix", "bd-"); err != nil {
|
|
t.Fatalf("Failed to set issue_prefix: %v", err)
|
|
}
|
|
|
|
if err := LargeSQLite(ctx, store); err != nil {
|
|
t.Fatalf("LargeSQLite failed: %v", err)
|
|
}
|
|
|
|
// Verify issue count
|
|
allIssues, err := store.SearchIssues(ctx, "", types.IssueFilter{})
|
|
if err != nil {
|
|
t.Fatalf("Failed to search issues: %v", err)
|
|
}
|
|
|
|
if len(allIssues) != 10000 {
|
|
t.Errorf("Expected 10000 issues, got %d", len(allIssues))
|
|
}
|
|
|
|
// Verify we have epics, features, and tasks
|
|
var epics, features, tasks int
|
|
for _, issue := range allIssues {
|
|
switch issue.IssueType {
|
|
case types.TypeEpic:
|
|
epics++
|
|
case types.TypeFeature:
|
|
features++
|
|
case types.TypeTask:
|
|
tasks++
|
|
}
|
|
}
|
|
|
|
if epics == 0 || features == 0 || tasks == 0 {
|
|
t.Errorf("Missing issue types: epics=%d, features=%d, tasks=%d", epics, features, tasks)
|
|
}
|
|
|
|
t.Logf("Created %d epics, %d features, %d tasks", epics, features, tasks)
|
|
}
|
|
|
|
func TestXLargeSQLite(t *testing.T) {
|
|
if testing.Short() {
|
|
t.Skip("Skipping XLarge test in short mode")
|
|
}
|
|
|
|
tmpDB := t.TempDir() + "/test.db"
|
|
store, err := sqlite.New(context.Background(), tmpDB)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create storage: %v", err)
|
|
}
|
|
defer store.Close()
|
|
|
|
ctx := context.Background()
|
|
|
|
// Initialize database with prefix
|
|
if err := store.SetConfig(ctx, "issue_prefix", "bd-"); err != nil {
|
|
t.Fatalf("Failed to set issue_prefix: %v", err)
|
|
}
|
|
|
|
if err := XLargeSQLite(ctx, store); err != nil {
|
|
t.Fatalf("XLargeSQLite failed: %v", err)
|
|
}
|
|
|
|
// Verify issue count
|
|
allIssues, err := store.SearchIssues(ctx, "", types.IssueFilter{})
|
|
if err != nil {
|
|
t.Fatalf("Failed to search issues: %v", err)
|
|
}
|
|
|
|
if len(allIssues) != 20000 {
|
|
t.Errorf("Expected 20000 issues, got %d", len(allIssues))
|
|
}
|
|
}
|
|
|
|
func TestLargeFromJSONL(t *testing.T) {
|
|
if testing.Short() {
|
|
t.Skip("Skipping JSONL test in short mode")
|
|
}
|
|
|
|
tmpDB := t.TempDir() + "/test.db"
|
|
store, err := sqlite.New(context.Background(), tmpDB)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create storage: %v", err)
|
|
}
|
|
defer store.Close()
|
|
|
|
ctx := context.Background()
|
|
|
|
// Initialize database with prefix
|
|
if err := store.SetConfig(ctx, "issue_prefix", "bd-"); err != nil {
|
|
t.Fatalf("Failed to set issue_prefix: %v", err)
|
|
}
|
|
|
|
tempDir := t.TempDir()
|
|
|
|
if err := LargeFromJSONL(ctx, store, tempDir); err != nil {
|
|
t.Fatalf("LargeFromJSONL failed: %v", err)
|
|
}
|
|
|
|
// Verify issue count
|
|
allIssues, err := store.SearchIssues(ctx, "", types.IssueFilter{})
|
|
if err != nil {
|
|
t.Fatalf("Failed to search issues: %v", err)
|
|
}
|
|
|
|
if len(allIssues) != 10000 {
|
|
t.Errorf("Expected 10000 issues, got %d", len(allIssues))
|
|
}
|
|
}
|