Non-blocking RMR init ...
[ric-plt/alarm-go.git] / adapter / cmd / adapter_test.go
index 27fe8ce..0dbc387 100755 (executable)
@@ -45,7 +45,7 @@ var eventChan chan string
 
 // Test cases
 func TestMain(M *testing.M) {
-       alarmAdapter = NewAlarmAdapter(500)
+       alarmAdapter = NewAlarmAdapter("localhost:9093", 500)
        go alarmAdapter.Run(false)
        time.Sleep(time.Duration(2) * time.Second)
 
@@ -55,6 +55,7 @@ func TestMain(M *testing.M) {
        }
 
        alarmer, _ = alarm.InitAlarm("my-pod", "my-app")
+       time.Sleep(time.Duration(5) * time.Second)
        eventChan = make(chan string)
 
        os.Exit(M.Run())
@@ -64,10 +65,10 @@ func TestNewAlarmStoredAndPostedSucess(t *testing.T) {
        ts := CreatePromAlertSimulator(t, "POST", "/api/v2/alerts", http.StatusOK, models.LabelSet{})
        defer ts.Close()
 
-       a := alarmer.NewAlarm(RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
+       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) {
@@ -75,13 +76,13 @@ func TestAlarmClearedSucess(t *testing.T) {
        defer ts.Close()
 
        // Raise the alarm
-       a := alarmer.NewAlarm(RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
+       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(RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityCleared, "Some App data", "eth 0 1")
+       a = alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityCleared, "Some App data", "eth 0 1")
        assert.Nil(t, alarmer.Clear(a), "clear failed")
 
        time.Sleep(time.Duration(2) * time.Second)
@@ -93,14 +94,14 @@ func TestMultipleAlarmsRaisedSucess(t *testing.T) {
        defer ts.Close()
 
        // Raise two alarms
-       a := alarmer.NewAlarm(RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
+       a := alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
        assert.Nil(t, alarmer.Raise(a), "raise failed")
 
-       b := alarmer.NewAlarm(CONNECTIVITY_LOST_TO_DBAAS, alarm.SeverityMinor, "Hello", "abcd 11")
+       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) {
@@ -108,10 +109,10 @@ func TestMultipleAlarmsClearedSucess(t *testing.T) {
        defer ts.Close()
 
        // Raise two alarms
-       a := alarmer.NewAlarm(RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
+       a := alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
        assert.Nil(t, alarmer.Clear(a), "clear failed")
 
-       b := alarmer.NewAlarm(CONNECTIVITY_LOST_TO_DBAAS, alarm.SeverityMinor, "Hello", "abcd 11")
+       b := alarmer.NewAlarm(alarm.TCP_CONNECTIVITY_LOST_TO_DBAAS, alarm.SeverityMinor, "Hello", "abcd 11")
        assert.Nil(t, alarmer.Clear(b), "clear failed")
 
        time.Sleep(time.Duration(2) * time.Second)
@@ -123,11 +124,11 @@ func TestAlarmsSuppresedSucess(t *testing.T) {
        defer ts.Close()
 
        // Raise two similar/matching alarms ... the second one suppresed
-       a := alarmer.NewAlarm(RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
+       a := alarmer.NewAlarm(alarm.RIC_RT_DISTRIBUTION_FAILED, alarm.SeverityMajor, "Some App data", "eth 0 1")
        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) {
@@ -151,18 +152,12 @@ func TestStatusCallback(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
 }