@@ -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