def testRemoveTablesWithPatternCriteria(self): tables = ['tableA', 'tableB', 'tableA20090922T162037', 'steveA20090922T162037', 'table%s' % datetime.date.today().strftime("%Y%m%d")] db = sqlite3.connect(':memory:') self.create_tables(db, tables) tables = rotatelib.list_backup_tables(db, before=datetime.timedelta(1), pattern='steve.*') self.assertEqual(len(tables), 1) rotatelib.remove_items(db=db, items=tables) tables = rotatelib.list_backup_tables(db, before=datetime.timedelta(1)) self.assertEqual(len(tables), 1) cur = db.cursor() cur.execute("SELECT * FROM sqlite_master WHERE type='table'") tables = cur.fetchall() self.assertEqual(len(tables), 4)
def testRemoveTablesWithCriteria(self): tables = [ 'tableA', 'tableB', 'tableA20090922T162037', 'table%s' % datetime.date.today().strftime("%Y%m%d") ] db = sqlite3.connect(':memory:') self.create_tables(db, tables) tables = rotatelib.list_backup_tables(db, before=datetime.timedelta(1)) self.assertEqual(len(tables), 1) rotatelib.remove_items(db=db, items=tables) tables = rotatelib.list_backup_tables(db, before=datetime.timedelta(1)) self.assertEqual(len(tables), 0) cur = db.cursor() cur.execute("SELECT * FROM sqlite_master WHERE type='table'") tables = cur.fetchall() self.assertEqual(len(tables), 3)
def testCanDetectTables(self): tables = ['tableA', 'tableB', 'tableA20090922T162037', 'tableA20090922'] db = sqlite3.connect(':memory:') self.create_tables(db, tables) tables = rotatelib.list_backup_tables(db) self.assertEqual(len(tables), 2) self.assertEqual(tables[0], 'tableA20090922T162037') self.assertEqual(tables[1], 'tableA20090922')
def testMeetsCriteriaWithBeforeDelta(self): tables = [ 'tableA', 'tableB', 'tableA20090922T162037', 'table%s' % datetime.date.today().strftime("%Y%m%d") ] db = sqlite3.connect(':memory:') self.create_tables(db, tables) tables = rotatelib.list_backup_tables(db, before=datetime.timedelta(1)) self.assertEqual(len(tables), 1)
def testCanDetectTables(self): tables = [ 'tableA', 'tableB', 'tableA20090922T162037', 'tableA20090922' ] db = sqlite3.connect(':memory:') self.create_tables(db, tables) tables = rotatelib.list_backup_tables(db) self.assertEqual(len(tables), 2) self.assertEqual(tables[0], 'tableA20090922T162037') self.assertEqual(tables[1], 'tableA20090922')
def testMeetsCriteriaWithBeforeDelta(self): tables = ['tableA', 'tableB', 'tableA20090922T162037', 'table%s' % datetime.date.today().strftime("%Y%m%d")] db = sqlite3.connect(':memory:') self.create_tables(db, tables) tables = rotatelib.list_backup_tables(db, before=datetime.timedelta(1)) self.assertEqual(len(tables), 1)