def test_mem_alarm_high_not_integer_parameters(self): snippet = template_format.parse(not_string_alarm_template) for p in ('period', 'evaluation_periods'): snippet['Resources']['MEMAlarmHigh']['Properties'][p] = [60] stack = utils.parse_stack(snippet) rsrc = alarm.CeilometerAlarm( 'MEMAlarmHigh', snippet['Resources']['MEMAlarmHigh'], stack) error = self.assertRaises(exception.StackValidationFailed, rsrc.validate) self.assertEqual( "Property error : MEMAlarmHigh: %s int() argument must be " "a string or a number, not 'list'" % p, str(error))
def test_mem_alarm_high_check_not_required_parameters(self): snippet = template_format.parse(not_string_alarm_template) snippet['Resources']['MEMAlarmHigh']['Properties'].pop('meter_name') stack = utils.parse_stack(snippet) rsrc = alarm.CeilometerAlarm( 'MEMAlarmHigh', snippet['Resources']['MEMAlarmHigh'], stack) error = self.assertRaises(exception.StackValidationFailed, rsrc.validate) self.assertEqual( "Property error : MEMAlarmHigh: Property meter_name not assigned", str(error)) for p in ('period', 'evaluation_periods', 'statistic', 'comparison_operator'): snippet = template_format.parse(not_string_alarm_template) snippet['Resources']['MEMAlarmHigh']['Properties'].pop(p) stack = utils.parse_stack(snippet) rsrc = alarm.CeilometerAlarm( 'MEMAlarmHigh', snippet['Resources']['MEMAlarmHigh'], stack) self.assertIsNone(rsrc.validate())
def test_mem_alarm_high_not_correct_string_parameters(self): snippet = template_format.parse(not_string_alarm_template) for p in ('period', 'evaluation_periods'): snippet['Resources']['MEMAlarmHigh']['Properties'][p] = '60a' stack = utils.parse_stack(snippet) rsrc = alarm.CeilometerAlarm( 'MEMAlarmHigh', snippet['Resources']['MEMAlarmHigh'], stack) error = self.assertRaises(exception.StackValidationFailed, rsrc.validate) self.assertEqual( "Property error : MEMAlarmHigh: %s Value '60a' is not an " "integer" % p, str(error))