Example #1
0
    def test_should_not_sort_in_place(self):
        # given
        b1 = backup_utils.create_backup(datetime(2017, 2, 3, 16, 30))
        b2 = backup_utils.create_backup(datetime(2017, 2, 2, 16, 30))
        b3 = backup_utils.create_backup(datetime(2017, 2, 1, 16, 30))
        expected_list = [b1, b3, b2]
        actual_list = [b1, b3, b2]

        # when
        Backup.sort_backups_by_create_time_desc(actual_list)

        # then
        self.assertListEqual(expected_list, actual_list)
Example #2
0
def create_backup_daily_sequence(count,
                                 table=Table(),
                                 start_date=datetime(2017, 2, 1, 16, 30)):
    backups = []
    for _ in range(count):
        backup = create_backup(start_date, table)
        backups.append(backup)
        start_date += timedelta(days=1)

    return Backup.sort_backups_by_create_time_desc(backups)
    def filter(self, backups, table_reference):
        sorted_backups = Backup.sort_backups_by_create_time_desc(backups)

        young_backups, old_backups = BackupAgeDivider.divide_backups_by_age(
            sorted_backups)

        backups_to_retain = young_backups
        if old_backups:
            backups_to_retain.append(old_backups[0])

        return backups_to_retain
Example #4
0
    def test_should_sort_backups_by_create_time_desc(self):
        # given
        b1 = backup_utils.create_backup(datetime(2017, 2, 3, 16, 30))
        b2 = backup_utils.create_backup(datetime(2017, 2, 2, 16, 30))
        b3 = backup_utils.create_backup(datetime(2017, 2, 1, 16, 30))
        expected_list = [b1, b2, b3]

        # when
        sorted_backups = Backup.sort_backups_by_create_time_desc([b1, b3, b2])

        # then
        self.assertListEqual(expected_list, sorted_backups)
Example #5
0
 def sortAndAssertListEqual(self, backup_list1, backup_list2):
     sorted_list1 = Backup.sort_backups_by_create_time_desc(backup_list1)
     sorted_list2 = Backup.sort_backups_by_create_time_desc(backup_list2)
     self.assertListEqual(sorted_list1, sorted_list2)