@@ -20,3 +20,69 @@ function deleteTorrentQuery (infohash: string): DatabaseQuery {
2020 params : [ infohash ]
2121 } ;
2222}
23+
24+ // Task to delete all torrents from the database before running any test
25+ export const deleteTorrentsInfoFromDatabase = async ( db_config : DatabaseConfig ) : Promise < Boolean > => {
26+ try {
27+ await runDatabaseQuery ( clearTorrentsTableQuery ( ) , db_config ) ;
28+ await runDatabaseQuery ( clearAnnounceUrlsTableQuery ( ) , db_config ) ;
29+ await runDatabaseQuery ( clearTorrentFilesTableQuery ( ) , db_config ) ;
30+ await runDatabaseQuery ( clearTorrentInfoTableQuery ( ) , db_config ) ;
31+ await runDatabaseQuery ( clearTorrentInfoHashesTableQuery ( ) , db_config ) ;
32+ await runDatabaseQuery ( clearTagLinkTableQuery ( ) , db_config ) ;
33+ await runDatabaseQuery ( clearTrackerStatsTableQuery ( ) , db_config ) ;
34+ return true ;
35+ } catch ( err ) {
36+ return await Promise . reject ( err ) ;
37+ }
38+ } ;
39+
40+ // Database query specifications
41+ function clearTorrentsTableQuery ( ) : DatabaseQuery {
42+ return {
43+ query : "DELETE FROM torrust_torrents" ,
44+ params : [ ]
45+ } ;
46+ }
47+
48+ function clearAnnounceUrlsTableQuery ( ) : DatabaseQuery {
49+ return {
50+ query : "DELETE FROM torrust_torrent_announce_urls" ,
51+ params : [ ]
52+ } ;
53+ }
54+
55+ function clearTorrentFilesTableQuery ( ) : DatabaseQuery {
56+ return {
57+ query : "DELETE FROM torrust_torrent_files" ,
58+ params : [ ]
59+ } ;
60+ }
61+
62+ function clearTorrentInfoTableQuery ( ) : DatabaseQuery {
63+ return {
64+ query : "DELETE FROM torrust_torrent_info" ,
65+ params : [ ]
66+ } ;
67+ }
68+
69+ function clearTorrentInfoHashesTableQuery ( ) : DatabaseQuery {
70+ return {
71+ query : "DELETE FROM torrust_torrent_info_hashes" ,
72+ params : [ ]
73+ } ;
74+ }
75+
76+ function clearTagLinkTableQuery ( ) : DatabaseQuery {
77+ return {
78+ query : "DELETE FROM torrust_torrent_tag_links" ,
79+ params : [ ]
80+ } ;
81+ }
82+
83+ function clearTrackerStatsTableQuery ( ) : DatabaseQuery {
84+ return {
85+ query : "DELETE FROM torrust_torrent_tracker_stats" ,
86+ params : [ ]
87+ } ;
88+ }
0 commit comments