def test_cutoff(self): """Test various cutoffs.""" self.mock.now.return_value = datetime.datetime(2017, 1, 30, 0, 0) to_delete = deploy._versions_to_delete([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version('2', datetime.datetime(2017, 1, 28, 23, 59), 0.0), deploy.Version('3', datetime.datetime(2017, 1, 29, 0, 0), 0.0), deploy.Version('4', datetime.datetime(2017, 1, 30, 0, 0), 1.0), ], 24 * 60) self.assertEqual([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version('2', datetime.datetime(2017, 1, 28, 23, 59), 0.0), ], to_delete) to_delete = deploy._versions_to_delete([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version('2', datetime.datetime(2017, 1, 28, 23, 59), 0.0), deploy.Version('3', datetime.datetime(2017, 1, 29, 0, 1), 0.0), deploy.Version('4', datetime.datetime(2017, 1, 30, 0, 0), 1.0), ], 24 * 60) self.assertEqual([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), ], to_delete) to_delete = deploy._versions_to_delete([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version('2', datetime.datetime(2017, 1, 29, 0, 1), 0.0), deploy.Version('3', datetime.datetime(2017, 1, 29, 0, 2), 0.0), deploy.Version('4', datetime.datetime(2017, 1, 30, 0, 0), 1.0), ], 24 * 60) self.assertEqual([], to_delete) # Latest version should never be deleted. to_delete = deploy._versions_to_delete([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version('2', datetime.datetime(2016, 1, 29, 0, 1), 0.0), deploy.Version('3', datetime.datetime(2016, 1, 29, 0, 2), 0.0), deploy.Version('4', datetime.datetime(2016, 1, 30, 0, 0), 1.0), ], 24 * 60) self.assertEqual([ deploy.Version('1', datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version('2', datetime.datetime(2016, 1, 29, 0, 1), 0.0), deploy.Version('3', datetime.datetime(2016, 1, 29, 0, 2), 0.0), ], to_delete)
def test_single_version(self): """Test single revision.""" self.mock.now.return_value = datetime.datetime(2017, 1, 1, 0, 0) to_delete = deploy._versions_to_delete([ deploy.Version('1', datetime.datetime(2017, 1, 1, 0, 0), 1.0), ], 24 * 60) self.assertEqual([], to_delete)
def test_two_revisions(self): """Test two revision.""" self.mock.now.return_value = datetime.datetime(2017, 1, 1, 0, 0) to_delete = deploy._versions_to_delete( [ deploy.Version("1", datetime.datetime(2016, 1, 1, 0, 0), 0.0), deploy.Version("2", datetime.datetime(2017, 1, 1, 0, 0), 1.0), ], 24 * 60, ) self.assertEqual([], to_delete)