summaryrefslogtreecommitdiffstats
path: root/engine-d/src/test/java/org/onap/holmes/engine/utils/AlarmUtilTest.java
blob: 97330a715a8ef029f60b059df287834c5ea0a67a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/**
 * Copyright 2017 ZTE Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.onap.holmes.engine.utils;

import org.hamcrest.core.IsEqual;
import org.hamcrest.core.IsNull;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.onap.holmes.common.api.stat.Alarm;
import org.onap.holmes.common.producer.MQProducer;
import org.powermock.api.easymock.PowerMock;
import org.powermock.reflect.Whitebox;

import java.util.HashMap;
import java.util.Map;

public class AlarmUtilTest {
    private AlarmUtil alarmUtil;
    private final Map<String, Map<String, Integer>> rootPriorityMap = new HashMap<String, Map<String, Integer>>();
    private final Map<String, String> saveRuleMsg = new HashMap<String, String>();

    @Before
    public void setUp() {
        alarmUtil = AlarmUtil.getInstance();
        Whitebox.setInternalState(alarmUtil,"rootPriorityMap",rootPriorityMap);
        Whitebox.setInternalState(alarmUtil,"saveRuleMsg",saveRuleMsg);
        PowerMock.resetAll();
    }

    @Test
    public void getInstance() {
        AlarmUtil instance = AlarmUtil.getInstance();
        Assert.assertThat(instance,IsNull.<AlarmUtil>notNullValue());
    }

    @Test
    public void equipTypeFilter_is_nullstr() {
        String probableCauseStr = "null";
        String equipType = "equipType";
        Alarm alarm = new Alarm();
        boolean filter = alarmUtil.equipTypeFilter(probableCauseStr, equipType, alarm);
        Assert.assertThat(filter, IsEqual.equalTo(true));
    }

    @Test
    public void equipTypeFilter_equals_alarm() {
        String probableCauseStr = "11,4567";
        String equipType = "ee,equipType";
        Alarm alarm = new Alarm();
        alarm.setProbableCause(4567);
        alarm.setEquipType("equipType");
        boolean filter = alarmUtil.equipTypeFilter(probableCauseStr, equipType, alarm);
        Assert.assertThat(filter, IsEqual.equalTo(true));
    }

    @Test
    public void equipTypeFilter_not_equals_alarm() {
        String probableCauseStr = "11,45";
        String equipType = "ee,equipType";
        Alarm alarm = new Alarm();
        alarm.setProbableCause(4567);
        alarm.setEquipType("equipType");
        boolean filter = alarmUtil.equipTypeFilter(probableCauseStr, equipType, alarm);
        Assert.assertThat(filter, IsEqual.equalTo(false));
    }

    @Test
    public void getPriority_rootprioritymap_containskey_ruleid() {
        String ruleId = "1";
        String probableCauseStr = "11,4567";
        String rootAlarmFeatureStr = "0,1";
        String equipTypeStr = "ee,equipType";
        Alarm alarm = new Alarm();

        Map<String, Integer> map = new HashMap<String, Integer>();
        map.put("11-ee", 0);
        map.put("4567-equipType", 1);
        rootPriorityMap.put(ruleId, map);

        saveRuleMsg.put(ruleId, "11ee0");

        Integer priority = alarmUtil.getPriority(ruleId, probableCauseStr, rootAlarmFeatureStr, equipTypeStr, alarm);
        Assert.assertThat(priority,IsEqual.equalTo(0));
    }

    @Test
    public void getPriority_rootprioritymap_not_containskey_ruleid() {
        String ruleId = "1";
        String probableCauseStr = "11,4567";
        String rootAlarmFeatureStr = "0,1";
        String equipTypeStr = "ee,equipType";
        Alarm alarm = new Alarm();

        saveRuleMsg.put(ruleId, "11ee0");

        Integer priority = alarmUtil.getPriority(ruleId, probableCauseStr, rootAlarmFeatureStr, equipTypeStr, alarm);
        Assert.assertThat(priority,IsEqual.equalTo(0));
    }

    @Test
    public void getPriority_priority_is_not_null() {
        String ruleId = "1";
        String probableCauseStr = "11,4567";
        String rootAlarmFeatureStr = "1,1";
        String equipTypeStr = "ee,equipType";
        Alarm alarm = new Alarm();
        alarm.setProbableCause(11);
        alarm.setEquipType("ee");

        saveRuleMsg.put(ruleId, "11ee0");

        Integer priority = alarmUtil.getPriority(ruleId, probableCauseStr, rootAlarmFeatureStr, equipTypeStr, alarm);
        Assert.assertThat(priority,IsEqual.equalTo(1));
    }

    @Test
    public void getMqProducer() {
        MQProducer mqProducer = alarmUtil.getMqProducer();
        Assert.assertThat(mqProducer, IsNull.<MQProducer>notNullValue());
    }
}