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