e8c2e7ea9b33963fdd633864fbe842e8dbe3c5b0
[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 package org.openo.holmes.engine.wrapper;\r
17 \r
18 import org.junit.Before;\r
19 import org.junit.Rule;\r
20 import org.junit.Test;\r
21 import org.junit.rules.ExpectedException;\r
22 import org.openo.holmes.common.api.entity.CorrelationRule;\r
23 import org.openo.holmes.common.exception.DbException;\r
24 import org.openo.holmes.common.utils.DbDaoUtil;\r
25 import org.openo.holmes.engine.db.CorrelationRuleDao;\r
26 import org.powermock.api.easymock.PowerMock;\r
27 import org.powermock.reflect.Whitebox;\r
28 \r
29 import java.util.ArrayList;\r
30 \r
31 import static org.easymock.EasyMock.*;\r
32 \r
33 /**\r
34  * Created by Administrator on 2017/2/20.\r
35  */\r
36 public class RuleMgtWrapperTest {\r
37     @Rule\r
38     public ExpectedException thrown = ExpectedException.none();\r
39     private DbDaoUtil daoUtil;\r
40     private RuleMgtWrapper ruleMgtWrapper;\r
41 \r
42     @Before\r
43     public void setUp() {\r
44         daoUtil = PowerMock.createMock(DbDaoUtil.class);\r
45         ruleMgtWrapper = new RuleMgtWrapper();\r
46 \r
47         Whitebox.setInternalState(ruleMgtWrapper,"daoUtil",daoUtil);\r
48         PowerMock.resetAll();\r
49     }\r
50 \r
51     @Test\r
52     public void queryRuleByEnable_ruletemp_is_null() throws DbException {\r
53         int enable = 3;\r
54 \r
55         thrown.expect(DbException.class);\r
56 \r
57         CorrelationRuleDao correlationRuleDao = PowerMock.createMock(CorrelationRuleDao.class);\r
58         expect(daoUtil.getJdbiDaoByOnDemand(anyObject(Class.class))).andReturn(correlationRuleDao);\r
59         expect(correlationRuleDao.queryRuleByRuleEnable(anyInt())).andReturn(null);\r
60         PowerMock.replayAll();\r
61         ruleMgtWrapper.queryRuleByEnable(enable);\r
62         PowerMock.verifyAll();\r
63     }\r
64 \r
65     @Test\r
66     public void queryRuleByEnable_normal() throws DbException {\r
67         int enable = 3;\r
68 \r
69         CorrelationRuleDao correlationRuleDao = PowerMock.createMock(CorrelationRuleDao.class);\r
70         expect(daoUtil.getJdbiDaoByOnDemand(anyObject(Class.class))).andReturn(correlationRuleDao);\r
71         expect(correlationRuleDao.queryRuleByRuleEnable(anyInt())).andReturn(new ArrayList<CorrelationRule>());\r
72         PowerMock.replayAll();\r
73         ruleMgtWrapper.queryRuleByEnable(enable);\r
74         PowerMock.verifyAll();\r
75     }\r
76 }\r