package integration import ( "database/sql" "testing" "time" _ "github.com/lib/pq" "github.com/stretchr/testify/require" ) func TestConnection(t *testing.T) { connStr := "user=user password=password dbname=broker_test port=5433 sslmode=disable" var db *sql.DB var err error for i := 0; i < 10; i++ { db, err = sql.Open("postgres", connStr) require.NoError(t, err) err = db.Ping() if err == nil { t.Log("Successfully connected to the database") db.Close() return } t.Logf("Failed to connect to database (attempt %d), retrying... Error: %v", i+1, err) time.Sleep(2 * time.Second) } require.NoError(t, err, "Failed to connect to database after retries") }