def testCleanQuarantine(self): now = datetime.now() past = str(now - timedelta(days=1)) way_past = str(now - timedelta(days=3)) mock = Mock( return_value=[ {"quarantine": past, "uuid": "past"}, {"quarantine": way_past, "uuid": "way_past"}, {"quarantine": str(now), "uuid": "now"}, ] ) config = ConfigHolder() config.set("endpoint", "something") pd = PersistentDisk(config) pd.quarantinePeriod = "2d" pd.describeVolumes = mock pd.deleteVolume = Mock() pd._setPDiskUserCredentials = Mock() pd.cleanQuarantine() self.assertEqual(("way_past",), pd.deleteVolume.call_args[0]) self.assertEqual(1, pd.deleteVolume.call_count)
def testParseQuarantinePeriod(self): config = ConfigHolder() config.set("endpoint", "something") pd = PersistentDisk(config) pd.quarantinePeriod = None self.assertRaises(ValidationException, pd._getQuarantinePeriod) pd.quarantinePeriod = "15x" self.assertRaises(ValidationException, pd._getQuarantinePeriod) pd.quarantinePeriod = "xym" self.assertRaises(ValidationException, pd._getQuarantinePeriod) pd.quarantinePeriod = "15" self.assertEqual(pd._getQuarantinePeriod(), 15) pd.quarantinePeriod = "15m" self.assertEqual(pd._getQuarantinePeriod(), 15) pd.quarantinePeriod = "15h" self.assertEqual(pd._getQuarantinePeriod(), 15 * 60) pd.quarantinePeriod = "15d" self.assertEqual(pd._getQuarantinePeriod(), 15 * 60 * 24)