class TestDBPrune(unittest.TestCase): def setUp(self) -> None: self.db = Database(':memory:') self.db.full_db_path = ':memory:' self.db.connect() populate_db(self.db.cur) def tearDown(self) -> None: self.db.close_conn() def test_delete_right_query(self): self.db.prune(200, NOW) self.assertEqual([MOCK_DATA['queries'][0]], self.db.cur.execute('SELECT * FROM queries') .fetchall()) def test_delete_correct_binding(self): self.db.prune(200, NOW) self.assertEqual([MOCK_DATA['query2torrent'][0], MOCK_DATA['query2torrent'][1], MOCK_DATA['query2torrent'][2]], self.db.cur.execute('SELECT * FROM query2torrent') .fetchall()) def test_delete_correct_torrents(self): self.db.prune(200, NOW) self.assertEqual([MOCK_DATA['torrents'][0], MOCK_DATA['torrents'][1], MOCK_DATA['torrents'][4]], self.db.cur.execute('SELECT id, name FROM torrents') .fetchall()) def test_do_not_delete(self): self.db.prune(301, NOW) self.assertEqual(MOCK_DATA['queries'], self.db.cur.execute('SELECT * FROM queries') .fetchall())