Пример #1
0
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())