75c4a20828291bede71b607da9b041621ddaf8fb
[holmes/engine-management.git] / engine-d / src / test / java / org / openo / holmes / engine / wrapper / RuleMgtWrapperTest.java
1 /**\r
2  * Copyright 2017 ZTE Corporation.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.openo.holmes.engine.wrapper;\r
18 \r
19 import org.junit.Before;\r
20 import org.junit.Rule;\r
21 import org.junit.Test;\r
22 import org.junit.rules.ExpectedException;\r
23 import org.openo.holmes.common.api.entity.CorrelationRule;\r
24 import org.openo.holmes.common.exception.DbException;\r
25 import org.openo.holmes.common.utils.DbDaoUtil;\r
26 import org.openo.holmes.engine.db.CorrelationRuleDao;\r
27 import org.powermock.api.easymock.PowerMock;\r
28 import org.powermock.reflect.Whitebox;\r
29 \r
30 import java.util.ArrayList;\r
31 \r
32 import static org.easymock.EasyMock.*;\r
33 \r
34 public class RuleMgtWrapperTest {\r
35 \r
36     @Rule\r
37     public ExpectedException thrown = ExpectedException.none();\r
38     private DbDaoUtil daoUtil;\r
39     private RuleMgtWrapper ruleMgtWrapper;\r
40 \r
41     @Before\r
42     public void setUp() {\r
43         daoUtil = PowerMock.createMock(DbDaoUtil.class);\r
44         ruleMgtWrapper = new RuleMgtWrapper();\r
45 \r
46         Whitebox.setInternalState(ruleMgtWrapper, "daoUtil", daoUtil);\r
47         PowerMock.resetAll();\r
48     }\r
49 \r
50     @Test\r
51     public void queryRuleByEnable_ruletemp_is_null() throws DbException {\r
52         int enable = 3;\r
53 \r
54         thrown.expect(DbException.class);\r
55 \r
56         CorrelationRuleDao correlationRuleDao = PowerMock.createMock(CorrelationRuleDao.class);\r
57         expect(daoUtil.getJdbiDaoByOnDemand(anyObject(Class.class))).andReturn(correlationRuleDao);\r
58         expect(correlationRuleDao.queryRuleByRuleEnable(anyInt())).andReturn(null);\r
59         PowerMock.replayAll();\r
60         ruleMgtWrapper.queryRuleByEnable(enable);\r
61         PowerMock.verifyAll();\r
62     }\r
63 \r
64     @Test\r
65     public void queryRuleByEnable_normal() throws DbException {\r
66         int enable = 3;\r
67 \r
68         CorrelationRuleDao correlationRuleDao = PowerMock.createMock(CorrelationRuleDao.class);\r
69         expect(daoUtil.getJdbiDaoByOnDemand(anyObject(Class.class))).andReturn(correlationRuleDao);\r
70         expect(correlationRuleDao.queryRuleByRuleEnable(anyInt())).andReturn(new ArrayList<CorrelationRule>());\r
71         PowerMock.replayAll();\r
72         ruleMgtWrapper.queryRuleByEnable(enable);\r
73         PowerMock.verifyAll();\r
74     }\r
75 }\r