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
\r
@Rule\r
public ExpectedException thrown = ExpectedException.none();\r
-\r
@Rule\r
public PowerMockRule powerMockRule = new PowerMockRule();\r
\r
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
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
}\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
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
\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
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
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