- Run 'make format' to ensure all Go code follows standard formatting - Maintains consistent code style across the entire codebase - No functional changes, only whitespace and formatting improvements
36 lines
728 B
Go
36 lines
728 B
Go
package database
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
// setupTestDatabase creates a temporary database for testing
|
|
func setupTestDatabase(t *testing.T) (*Database, func()) {
|
|
tempFile, err := os.CreateTemp("", "test_skyview_*.db")
|
|
if err != nil {
|
|
t.Fatal("Failed to create temp database file:", err)
|
|
}
|
|
tempFile.Close()
|
|
|
|
config := &Config{Path: tempFile.Name()}
|
|
db, err := NewDatabase(config)
|
|
if err != nil {
|
|
t.Fatal("Failed to create database:", err)
|
|
}
|
|
|
|
// Initialize the database (run migrations)
|
|
err = db.Initialize()
|
|
if err != nil {
|
|
db.Close()
|
|
os.Remove(tempFile.Name())
|
|
t.Fatal("Failed to initialize database:", err)
|
|
}
|
|
|
|
cleanup := func() {
|
|
db.Close()
|
|
os.Remove(tempFile.Name())
|
|
}
|
|
|
|
return db, cleanup
|
|
}
|