package services import ( "testing" "time" "jd-book-uploader/config" ) func TestNewDBPool(t *testing.T) { // This test requires a running PostgreSQL instance // Skip if not available t.Skip("Skipping database connection test - requires running PostgreSQL") cfg := &config.Config{ DBHost: "localhost", DBPort: "5432", DBUser: "test_user", DBPassword: "test_password", DBName: "test_db", } pool, err := NewDBPool(cfg) if err != nil { t.Fatalf("NewDBPool() error = %v", err) } defer pool.Close() if pool == nil { t.Error("NewDBPool() returned nil pool") } } func TestRetryConnection(t *testing.T) { // This test requires a running PostgreSQL instance // Skip if not available t.Skip("Skipping database retry test - requires running PostgreSQL") cfg := &config.Config{ DBHost: "localhost", DBPort: "5432", DBUser: "test_user", DBPassword: "test_password", DBName: "test_db", } pool, err := RetryConnection(cfg, 3, time.Second) if err != nil { t.Logf("RetryConnection() error = %v (expected if DB not available)", err) return } defer pool.Close() if pool == nil { t.Error("RetryConnection() returned nil pool") } }