}
alarmer, _ = alarm.InitAlarm("my-pod", "my-app")
+ time.Sleep(time.Duration(5) * time.Second)
eventChan = make(chan string)
os.Exit(M.Run())
a := alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
assert.Nil(t, alarmer.Raise(a), "raise failed")
- VerifyAlarm(t, a, 1, 0)
+ VerifyAlarm(t, a, 1)
}
func TestAlarmClearedSucess(t *testing.T) {
a := alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
assert.Nil(t, alarmer.Raise(a), "raise failed")
- VerifyAlarm(t, a, 1, 0)
+ VerifyAlarm(t, a, 1)
// Now Clear the alarm and check alarm is removed
a = alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityCleared, "Some App data", "eth 0 1")
b := alarmer.NewAlarm(alarm.TCP_CONNECTIVITY_LOST_TO_DBAAS, alarm.SeverityMinor, "Hello", "abcd 11")
assert.Nil(t, alarmer.Raise(b), "raise failed")
- VerifyAlarm(t, a, 2, 0)
- VerifyAlarm(t, b, 2, 1)
+ VerifyAlarm(t, a, 2)
+ VerifyAlarm(t, b, 2)
}
func TestMultipleAlarmsClearedSucess(t *testing.T) {
assert.Nil(t, alarmer.Raise(a), "raise failed")
assert.Nil(t, alarmer.Raise(a), "raise failed")
- VerifyAlarm(t, a, 1, 0)
+ VerifyAlarm(t, a, 1)
}
func TestInvalidAlarms(t *testing.T) {
assert.Equal(t, true, alarmAdapter.StatusCB())
}
-func VerifyAlarm(t *testing.T, a alarm.Alarm, count, idx int) string {
+func VerifyAlarm(t *testing.T, a alarm.Alarm, expectedCount int) string {
receivedAlert := waitForEvent()
- assert.Equal(t, len(alarmAdapter.activeAlarms), count)
-
- b := alarmAdapter.activeAlarms[idx]
- assert.Equal(t, b.ManagedObjectId, a.ManagedObjectId)
- assert.Equal(t, b.ApplicationId, a.ApplicationId)
- assert.Equal(t, b.SpecificProblem, a.SpecificProblem)
- assert.Equal(t, b.PerceivedSeverity, a.PerceivedSeverity)
- assert.Equal(t, b.AdditionalInfo, a.AdditionalInfo)
- assert.Equal(t, b.IdentifyingInfo, a.IdentifyingInfo)
+ assert.Equal(t, len(alarmAdapter.activeAlarms), expectedCount)
+ _, ok := alarmAdapter.IsMatchFound(a)
+ assert.True(t, ok)
return receivedAlert
}