Add rule management module unit tests
[holmes/rule-management.git] / rulemgt / src / test / java / org / openo / holmes / rulemgt / wrapper / RuleMgtWrapperTest.java
index db13d17..f6d0544 100644 (file)
@@ -45,8 +45,6 @@ import org.openo.holmes.rulemgt.bolt.enginebolt.EngineWrapper;
 import org.openo.holmes.rulemgt.db.CorrelationRuleDao;\r
 import org.openo.holmes.rulemgt.db.CorrelationRuleQueryDao;\r
 import org.powermock.api.easymock.PowerMock;\r
-import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;\r
-import org.powermock.modules.junit4.PowerMockRunner;\r
 import org.powermock.modules.junit4.rule.PowerMockRule;\r
 import org.powermock.reflect.Whitebox;\r
 \r
@@ -54,7 +52,6 @@ public class RuleMgtWrapperTest {
 \r
     @Rule\r
     public ExpectedException thrown = ExpectedException.none();\r
-\r
     @Rule\r
     public PowerMockRule powerMockRule = new PowerMockRule();\r
 \r
@@ -83,144 +80,73 @@ public class RuleMgtWrapperTest {
         Whitebox.setInternalState(ruleMgtWrapper, "daoUtil", dbDaoUtilMock);\r
         Whitebox.setInternalState(ruleMgtWrapper, "correlationRuleQueryDao", correlationRuleQueryDaoMock);\r
         Whitebox.setInternalState(ruleMgtWrapper, "engineWarpper", engineWrapperMock);\r
+        Whitebox.setInternalState(ruleMgtWrapper, "correlationRuleDao", correlationRuleDaoMock);\r
 \r
         PowerMock.resetAll();\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_name_is_null() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_RULE_NAME_IS_EMPTY);\r
-\r
-        ruleMgtWrapper.addCorrelationRule(USER_NAME, createRuleCreateRequest(null, "This is a rule for testing.",\r
-                "Mocked contents.", 0));\r
+    public void initDaoUtil_normal() {\r
+        ruleMgtWrapper.initDaoUtil();\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_name_is_empty() throws Exception {\r
+    public void addCorrelationRule_name_is_null() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_RULE_NAME_IS_EMPTY);\r
+        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_RULE_NAME_CANNOT_BE_EMPTY);\r
 \r
-        ruleMgtWrapper.addCorrelationRule("admin", createRuleCreateRequest("", "This is a rule for testing.",\r
+        ruleMgtWrapper.addCorrelationRule(USER_NAME, createRuleCreateRequest(null, "This is a rule for testing.",\r
                 "Mocked contents.", 0));\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_rule_query_exception() throws Exception {\r
-\r
-        final String ruleName = "Rule-001";\r
-\r
-        RuleCreateRequest ruleCreateRequest = createRuleCreateRequest(ruleName, "This is a rule for testing.",\r
-                "Mocked contents.", 0);\r
-\r
+    public void addCorrelationRule_request_null() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_DB_ERROR);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName))\r
-                .andThrow(new RuntimeException(""));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.addCorrelationRule("admin", ruleCreateRequest);\r
+        thrown.expectMessage((I18nProxy.RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY));\r
 \r
-        PowerMock.verifyAll();\r
+        ruleMgtWrapper.addCorrelationRule(USER_NAME, null);\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_duplicated_rule() throws Exception {\r
-\r
-        final String ruleName = "Rule-001";\r
-\r
-        RuleCreateRequest ruleCreateRequest = createRuleCreateRequest(ruleName, "This is a rule for testing.",\r
-                "Mocked contents.", 0);\r
-        CorrelationRule correlationRule = convertCreateRequest2CorrelationRule(ruleCreateRequest);\r
-\r
+    public void addCorrelationRule_name_is_empty() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_REPEAT_RULE_NAME);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName)).andReturn(correlationRule);\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.addCorrelationRule("admin", ruleCreateRequest);\r
+        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_RULE_NAME_CANNOT_BE_EMPTY);\r
 \r
-        PowerMock.verifyAll();\r
+        ruleMgtWrapper.addCorrelationRule("admin", createRuleCreateRequest("", "This is a rule for testing.",\r
+                "Mocked contents.", 0));\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_rule_deploy_verify_failure() throws Exception {\r
-\r
-        final String ruleName = "Rule-001";\r
-\r
-        RuleCreateRequest ruleCreateRequest = createRuleCreateRequest(ruleName, "This is a rule for testing.",\r
-                "Mocked contents.", 0);\r
-\r
+    public void addCorrelationRule_content_is_empty() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName)).andReturn(null);\r
-        EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andThrow(new CorrelationException(I18nProxy.RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED));\r
+        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_CONTENT_CANNOT_BE_EMPTY);\r
 \r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.addCorrelationRule("admin", ruleCreateRequest);\r
-\r
-        PowerMock.verifyAll();\r
+        ruleMgtWrapper.addCorrelationRule("admin", createRuleCreateRequest("test", "This is a rule for testing.",\r
+                "", 0));\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_rule_deploy_rule_enabled_failure() throws Exception {\r
-\r
-        final String ruleName = "Rule-001";\r
-\r
-        RuleCreateRequest ruleCreateRequest = createRuleCreateRequest(ruleName, "This is a rule for testing.",\r
-                "Mocked contents.", 1);\r
-\r
+    public void addCorrelationRule_enabled_is_off_limit() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName)).andReturn(null);\r
-        EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andReturn(true);\r
-        EasyMock.expect(engineWrapperMock.deployEngine(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
-                .andThrow(new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.addCorrelationRule("admin", ruleCreateRequest);\r
+        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR);\r
 \r
-        PowerMock.verifyAll();\r
+        ruleMgtWrapper.addCorrelationRule("admin", createRuleCreateRequest("test", "This is a rule for testing.",\r
+                "Mocked contents.", 3));\r
     }\r
 \r
     @Test\r
-    public void addCorrelationRule_rule_save_failure() throws Exception {\r
+    public void addCorrelationRule_duplicated_rule() throws Exception {\r
+\r
         final String ruleName = "Rule-001";\r
 \r
         RuleCreateRequest ruleCreateRequest = createRuleCreateRequest(ruleName, "This is a rule for testing.",\r
-                "Mocked contents.", 1);\r
+                "Mocked contents.", 0);\r
+        CorrelationRule correlationRule = convertCreateRequest2CorrelationRule(ruleCreateRequest);\r
 \r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_CREATE_RULE_FAILED);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).times(2);\r
-        EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName)).andReturn(null);\r
-        EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andReturn(true);\r
-        EasyMock.expect(engineWrapperMock.deployEngine(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
-                .andReturn("package-001");\r
-        EasyMock.expect(correlationRuleDaoMock.saveRule(EasyMock.anyObject(CorrelationRule.class)))\r
-                .andThrow(new RuntimeException("any message"));\r
+        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_REPEAT_RULE_NAME);\r
 \r
+        EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName)).andReturn(correlationRule);\r
         PowerMock.replayAll();\r
 \r
         ruleMgtWrapper.addCorrelationRule("admin", ruleCreateRequest);\r
@@ -238,8 +164,6 @@ public class RuleMgtWrapperTest {
         CorrelationRule correlationRuleRet = new CorrelationRule();\r
         correlationRuleRet.setRid("rule_" + System.currentTimeMillis());\r
 \r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).times(2);\r
         EasyMock.expect(correlationRuleDaoMock.queryRuleByRuleName(ruleName)).andReturn(null);\r
         EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
                 .andReturn(true);\r
@@ -265,268 +189,69 @@ public class RuleMgtWrapperTest {
     }\r
 \r
     @Test\r
-    public void updateCorrelationRule_rule_query_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_DB_ERROR);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andThrow(new RuntimeException(""));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.updateCorrelationRule(USER_NAME, new RuleUpdateRequest());\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_not_exist() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class))).andReturn(null);\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.updateCorrelationRule(USER_NAME, new RuleUpdateRequest());\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_status_illegal_with_contents() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR);\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", "contents", 3);\r
-        CorrelationRule correlationRule = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRule.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRule);\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_status_illegal_with_null_contents() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR);\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 3);\r
-        CorrelationRule correlationRule = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRule.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock);\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRule);\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_disabled_update_failure() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_UPDATE_RULE_FAILED);\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", "contents", 0);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRuleOld);\r
-        correlationRuleDaoMock.updateRule(EasyMock.anyObject(CorrelationRule.class));\r
-        EasyMock.expectLastCall().andThrow(new RuntimeException("Failed to update the rule."));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_disabled_deploy_verify_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED);\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 0);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRuleOld);\r
+    public void updateCorrelationRule_normal() throws Exception {\r
+        CorrelationRule oldCorrelationRule = new CorrelationRule();\r
+        oldCorrelationRule.setRid("rule_1");\r
+        oldCorrelationRule.setName("name");\r
+        oldCorrelationRule.setDescription("des1");\r
+        oldCorrelationRule.setContent("content");\r
+        oldCorrelationRule.setPackageName("testName");\r
+        oldCorrelationRule.setEnabled(1);\r
+        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_1", "des2", "contetnt2", 1);\r
+\r
+        EasyMock.expect(correlationRuleDaoMock.queryRuleByRid("rule_1")).andReturn(oldCorrelationRule);\r
+        EasyMock.expect(engineWrapperMock.deleteRuleFromEngine("testName")).andReturn(true);\r
         correlationRuleDaoMock.updateRule(EasyMock.anyObject(CorrelationRule.class));\r
         EasyMock.expectLastCall();\r
         EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andThrow(new CorrelationException(I18nProxy.RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED));\r
-\r
+                .andReturn(true);\r
+        EasyMock.expect(engineWrapperMock.deployEngine(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
+                .andReturn("packageName1");\r
         PowerMock.replayAll();\r
 \r
         ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
 \r
         PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_disabled_deploy_verify_false() throws Exception {\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 0);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRuleOld);\r
-        correlationRuleDaoMock.updateRule(EasyMock.anyObject(CorrelationRule.class));\r
-        EasyMock.expectLastCall();\r
-        EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andReturn(false);\r
-\r
-        PowerMock.replayAll();\r
-\r
-        RuleAddAndUpdateResponse response = ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
 \r
-        assertThat(response.getRuleId(), equalTo(ruleUpdateRequest.getRuleId()));\r
-\r
-        PowerMock.verifyAll();\r
+        assertThat(oldCorrelationRule.getRid(), equalTo(ruleUpdateRequest.getRuleId()));\r
     }\r
 \r
     @Test\r
-    public void updateCorrelationRule_rule_enabled_engine_delete_failure() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_UPDATE_RULE_FAILED);\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 1);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRuleOld);\r
-        engineWrapperMock.deleteRuleFromEngine(correlationRuleOld.getPackageName());\r
-        EasyMock.expectLastCall().andThrow(new RuntimeException("Failed to delete the rule from the engine."));\r
+    public void updateCorrelationRule_param_no_change() throws Exception {\r
+        CorrelationRule oldCorrelationRule = new CorrelationRule();\r
+        oldCorrelationRule.setRid("rule_1");\r
+        oldCorrelationRule.setName("name");\r
+        oldCorrelationRule.setDescription("des1");\r
+        oldCorrelationRule.setContent("content");\r
+        oldCorrelationRule.setPackageName("testName");\r
+        oldCorrelationRule.setEnabled(1);\r
+        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_1", "des1", "content", 1);\r
+\r
+        EasyMock.expect(correlationRuleDaoMock.queryRuleByRid("rule_1")).andReturn(oldCorrelationRule);\r
 \r
         PowerMock.replayAll();\r
 \r
         ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
 \r
         PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void updateCorrelationRule_rule_enabled_engine_deploy_failure() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED);\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 1);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRuleOld);\r
-        EasyMock.expect(engineWrapperMock.deleteRuleFromEngine(correlationRuleOld.getPackageName())).andReturn(true);\r
-        correlationRuleDaoMock.updateRule(EasyMock.anyObject(CorrelationRule.class));\r
-        EasyMock.expectLastCall();\r
-        EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andReturn(true);\r
-        EasyMock.expect(engineWrapperMock.deployEngine(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
-                .andThrow(new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED));\r
-\r
-        PowerMock.replayAll();\r
 \r
-        ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
-\r
-        PowerMock.verifyAll();\r
+        assertThat(oldCorrelationRule.getRid(), equalTo(ruleUpdateRequest.getRuleId()));\r
     }\r
 \r
     @Test\r
-    public void updateCorrelationRule_rule_enabled_deploy_rule_enabled() throws Exception {\r
-\r
-        RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 1);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleUpdateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
+    public void updateCorrelationRule_rule_not_exist() throws Exception {\r
+        thrown.expect(CorrelationException.class);\r
+        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE);\r
 \r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(EasyMock.anyObject(String.class)))\r
-                .andReturn(correlationRuleOld);\r
-        EasyMock.expect(engineWrapperMock.deleteRuleFromEngine(correlationRuleOld.getPackageName())).andReturn(true);\r
-        correlationRuleDaoMock.updateRule(EasyMock.anyObject(CorrelationRule.class));\r
-        EasyMock.expectLastCall();\r
-        EasyMock.expect(engineWrapperMock.checkRuleFromEngine(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
-                .andReturn(true);\r
-        EasyMock.expect(engineWrapperMock.deployEngine(EasyMock.anyObject(CorrelationDeployRule4Engine.class)))\r
-                .andReturn("package-name");\r
+        EasyMock.expect(correlationRuleDaoMock.queryRuleByRid(EasyMock.anyObject(String.class))).andReturn(null);\r
 \r
         PowerMock.replayAll();\r
 \r
-        RuleAddAndUpdateResponse response = ruleMgtWrapper.updateCorrelationRule(USER_NAME, ruleUpdateRequest);\r
-\r
-        assertThat(response.getRuleId(), equalTo(ruleUpdateRequest.getRuleId()));\r
+        ruleMgtWrapper.updateCorrelationRule(USER_NAME, new RuleUpdateRequest());\r
 \r
         PowerMock.verifyAll();\r
     }\r
 \r
-    @Test\r
-    public void checkCorrelation_content_null() throws Exception {\r
-        RuleUpdateRequest ruleCreateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 0);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-        CorrelationRule correlationRuleNew = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        ruleMgtWrapper.checkCorrelation(correlationRuleNew, correlationRuleOld);\r
-\r
-        assertThat(correlationRuleNew.getContent(), equalTo(correlationRuleOld.getContent()));\r
-    }\r
-\r
-    @Test\r
-    public void checkCorrelation_illegal_status() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR);\r
-\r
-        RuleUpdateRequest ruleCreateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", null, 2);\r
-        CorrelationRule correlationRuleOld = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-        CorrelationRule correlationRuleNew = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-        correlationRuleOld.setContent("previous contents");\r
-\r
-        ruleMgtWrapper.checkCorrelation(correlationRuleNew, correlationRuleOld);\r
-    }\r
-\r
-\r
     @Test\r
     public void deleteCorrelationRule_request_null() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
@@ -535,25 +260,6 @@ public class RuleMgtWrapperTest {
         ruleMgtWrapper.deleteCorrelationRule(null);\r
     }\r
 \r
-    @Test\r
-    public void deleteCorrelationRule_rule_query_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage((I18nProxy.RULE_MANAGEMENT_DB_ERROR));\r
-\r
-        RuleDeleteRequest ruleDeleteRequest = createRuleDeleteRequest("rule_" + System.currentTimeMillis());\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(ruleDeleteRequest.getRuleId()))\r
-                .andThrow(new RuntimeException(""));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.deleteCorrelationRule(ruleDeleteRequest);\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
     @Test\r
     public void deleteCorrelationRule_rule_not_exit() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
@@ -563,7 +269,7 @@ public class RuleMgtWrapperTest {
 \r
         EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
                 correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(ruleDeleteRequest.getRuleId()))\r
+        EasyMock.expect(correlationRuleDaoMock.queryRuleByRid(ruleDeleteRequest.getRuleId()))\r
                 .andReturn(null);\r
 \r
         PowerMock.replayAll();\r
@@ -573,69 +279,16 @@ public class RuleMgtWrapperTest {
         PowerMock.verifyAll();\r
     }\r
 \r
-    @Test\r
-    public void deleteCorrelationRule_rule_enabled_engine_delete_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage((I18nProxy.RULE_MANAGEMENT_DELETE_RULE_FAILED));\r
-\r
-        RuleDeleteRequest ruleDeleteRequest = createRuleDeleteRequest("rule_" + System.currentTimeMillis());\r
-        RuleUpdateRequest ruleCreateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", "contents", 1);\r
-        CorrelationRule correlationRule = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(ruleDeleteRequest.getRuleId()))\r
-                .andReturn(correlationRule);\r
-        EasyMock.expect(engineWrapperMock.deleteRuleFromEngine(correlationRule.getPackageName()))\r
-                .andThrow(new RuntimeException("Failed to delete the rule from the engine"));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.deleteCorrelationRule(ruleDeleteRequest);\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
-    @Test\r
-    public void deleteCorrelationRule_rule_disabled_delete_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage((I18nProxy.RULE_MANAGEMENT_DELETE_RULE_FAILED));\r
-\r
-        RuleDeleteRequest ruleDeleteRequest = createRuleDeleteRequest("rule_" + System.currentTimeMillis());\r
-        RuleUpdateRequest ruleCreateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", "contents", 0);\r
-        CorrelationRule correlationRule = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(ruleDeleteRequest.getRuleId()))\r
-                .andReturn(correlationRule);\r
-        correlationRuleDaoMock.deleteRule(correlationRule);\r
-        EasyMock.expectLastCall().andThrow(new RuntimeException("Failed to delete the rule from the DB"));\r
-\r
-        PowerMock.replayAll();\r
-\r
-        ruleMgtWrapper.deleteCorrelationRule(ruleDeleteRequest);\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
-\r
     @Test\r
     public void deleteCorrelationRule_normal() throws Exception {\r
         RuleDeleteRequest ruleDeleteRequest = createRuleDeleteRequest("rule_" + System.currentTimeMillis());\r
-        RuleUpdateRequest ruleCreateRequest = createRuleUpdateRequest("rule_" + System.currentTimeMillis(),\r
-                "desc", "contents", 1);\r
-        CorrelationRule correlationRule = convertUpdateRequest2CorrelationRule(ruleCreateRequest);\r
-\r
-        EasyMock.expect(dbDaoUtilMock.getJdbiDaoByOnDemand(CorrelationRuleDao.class)).andReturn(\r
-                correlationRuleDaoMock).anyTimes();\r
-        EasyMock.expect(correlationRuleDaoMock.getRuleByRid(ruleDeleteRequest.getRuleId()))\r
+        CorrelationRule correlationRule = new CorrelationRule();\r
+        correlationRule.setEnabled(1);\r
+        EasyMock.expect(correlationRuleDaoMock.queryRuleByRid(ruleDeleteRequest.getRuleId()))\r
                 .andReturn(correlationRule);\r
-        EasyMock.expect(engineWrapperMock.deleteRuleFromEngine(correlationRule.getPackageName())).andReturn(true);\r
-        correlationRuleDaoMock.deleteRule(correlationRule);\r
+        EasyMock.expect(engineWrapperMock.deleteRuleFromEngine(EasyMock.anyObject(String.class))).andReturn(true);\r
+        correlationRuleDaoMock.deleteRule(EasyMock.anyObject(CorrelationRule.class));\r
         EasyMock.expectLastCall();\r
-\r
         PowerMock.replayAll();\r
 \r
         ruleMgtWrapper.deleteCorrelationRule(ruleDeleteRequest);\r
@@ -683,9 +336,8 @@ public class RuleMgtWrapperTest {
             correlationRule.setContent("content" + i);\r
             correlationRule.setName("name" + i);\r
             correlationRule.setRid("rule_" + i);\r
-            correlationRule.setIsManual(i % 2);\r
             correlationRule.setEngineType("engineType" + (i % 2 + 1));\r
-            correlationRule.setEngineId("engineId" + i);\r
+            correlationRule.setEngineID("engineId" + i);\r
             correlationRule.setCreateTime(new Date());\r
             correlationRule.setCreator(USER_NAME);\r
             correlationRule.setDescription("description" + i);\r