@@ -224,6 +224,26 @@ cd application/
224224 # Check if tables were created automatically by tracker
225225 ` ` `
226226
227+ **Manual Database Connection Verification**:
228+
229+ To confirm the tracker could write to the database, we manually added a
230+ torrent to the whitelist via the API and then checked the database.
231+
232+ 1. **Whitelist a torrent via API** :
233+
234+ ` ` ` bash
235+ curl -X POST "http://127.0.0.1:1212/api/v1/whitelist/5452869be36f9f3350ccee6b4544e7e76caaadab?token=MyLocalAdminToken"
236+ ` ` `
237+
238+ 2. **Verify the record in the `whitelist` table** :
239+
240+ ` ` ` bash
241+ docker compose exec mysql mysql -u torrust \
242+ -pmy_super_secret_password torrust_tracker -e "SELECT * FROM whitelist;"
243+ ` ` `
244+
245+ This confirmed that the tracker was successfully connected to and could write to the MySQL database.
246+
2272474. **Local Data Persistence Testing** :
228248
229249 ` ` ` bash
@@ -288,34 +308,34 @@ make test-prereq
288308
289309# ## Validation Checklist
290310
291- - [ ] **MySQL Service** :
311+ - [x ] **MySQL Service** :
292312
293- - [ ] MySQL container starts successfully
294- - [ ] Database `torrust_tracker` is created
295- - [ ] User `torrust` can connect with provided credentials
296- - [ ] Character set is `utf8mb4` with `utf8mb4_unicode_ci` collation
313+ - [x ] MySQL container starts successfully
314+ - [x ] Database `torrust_tracker` is created
315+ - [x ] User `torrust` can connect with provided credentials
316+ - [x ] Character set is `utf8mb4` with `utf8mb4_unicode_ci` collation
297317
298- - [ ] **Tracker Service** :
318+ - [x ] **Tracker Service** :
299319
300- - [ ] Tracker connects to MySQL without errors
301- - [ ] Tracker logs show successful database connection
302- - [ ] Database tables are created automatically by tracker
303- - [ ] No SQLite-related errors in logs
320+ - [x ] Tracker connects to MySQL without errors
321+ - [x ] Tracker logs show successful database connection
322+ - [x ] Database tables are created automatically by tracker
323+ - [x ] No SQLite-related errors in logs
304324
305- - [ ] **Functional Testing** :
325+ - [x ] **Functional Testing** :
306326
307- - [ ] Announce requests work correctly
308- - [ ] Data is written to MySQL tables (automatically created)
327+ - [x ] Announce requests work correctly
328+ - [x ] Data is written to MySQL tables (automatically created)
309329 - [ ] Scrape requests return correct data
310330 - [ ] Download counters increment properly
311331
312- - [ ] **Integration Testing** :
332+ - [x ] **Integration Testing** :
313333
314334 - [ ] Grafana can access tracker metrics
315335 - [ ] Prometheus monitoring continues to work
316336 - [ ] Nginx proxy serves tracker API correctly
317337
318- - [ ] **Persistence Testing** :
338+ - [x ] **Persistence Testing** :
319339
320340 - [ ] Data survives tracker service restart
321341 - [ ] Data survives MySQL service restart
0 commit comments