def get_retention_from_backup_policy(self, retention_policy): actual_retention_iso8601 = self.backup_type.get_retention_from_backup_policy( retention_policy) try: actual_duration, actual_duration_units = RetentionPeriod.parse_iso8601_retention_period( actual_retention_iso8601) except ValueError: return None if actual_duration_units.iso8601_symbol != self.retention_period_units.iso8601_symbol: return None return actual_duration
def test_parse_iso8601_retention_period_years(self): duration = "P5Y" period, unit = RetentionPeriod.parse_iso8601_retention_period(duration) self.assertEqual(period, 5) self.assertEqual(unit.iso8601_symbol, 'Y')
def test_parse_iso8601_retention_period_weeks(self): duration = "P17W" period, unit = RetentionPeriod.parse_iso8601_retention_period(duration) self.assertEqual(period, 17) self.assertEqual(unit.iso8601_symbol, 'W')
def test_parse_iso8601_retention_period_months(self): duration = "P8M" period, unit = RetentionPeriod.parse_iso8601_retention_period(duration) self.assertEqual(period, 8) self.assertEqual(unit.iso8601_symbol, 'M')
def test_parse_iso8601_retention_period_days(self): duration = "P31D" period, unit = RetentionPeriod.parse_iso8601_retention_period(duration) self.assertEqual(period, 31) self.assertEqual(unit.iso8601_symbol, 'D')