Repository: oozie Updated Branches: refs/heads/master 0d386ccbf -> caf51232e
OOZIE-1933 appendix - SLA unit tests fix Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/caf51232 Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/caf51232 Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/caf51232 Branch: refs/heads/master Commit: caf51232e21dd589d75f52204ed4be7ac0012c57 Parents: 0d386cc Author: mona <[email protected]> Authored: Mon Jul 21 12:39:51 2014 -0700 Committer: mona <[email protected]> Committed: Mon Jul 21 12:39:51 2014 -0700 ---------------------------------------------------------------------- .../oozie/jms/TestJMSSLAEventListener.java | 47 ++++++++++++------- .../oozie/sla/TestSLAEmailEventListener.java | 49 ++++++++++++++------ .../oozie/sla/TestSLAJobEventListener.java | 14 +++--- 3 files changed, 72 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/caf51232/core/src/test/java/org/apache/oozie/jms/TestJMSSLAEventListener.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/jms/TestJMSSLAEventListener.java b/core/src/test/java/org/apache/oozie/jms/TestJMSSLAEventListener.java index ea47e79..fa26935 100644 --- a/core/src/test/java/org/apache/oozie/jms/TestJMSSLAEventListener.java +++ b/core/src/test/java/org/apache/oozie/jms/TestJMSSLAEventListener.java @@ -81,10 +81,11 @@ public class TestJMSSLAEventListener extends XTestCase { public void testOnSLAStartMissEvent() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus startMiss = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus startMiss = _createSLACalcStatus(id); SLARegistrationBean startMissBean = startMiss.getSLARegistrationBean(); Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); - startMiss.setId("0000000-000000000000001-oozie-wrkf-C@1"); + startMiss.setId(id); startMissBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); startMissBean.setAppName("Test-SLA-Start-Miss"); startMissBean.setUser("dummyuser"); @@ -120,11 +121,12 @@ public class TestJMSSLAEventListener extends XTestCase { public void testOnSLAEndMissEvent() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus endMiss = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus endMiss = _createSLACalcStatus(id); SLARegistrationBean endMissBean = endMiss.getSLARegistrationBean(); Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T01:00Z"); - endMiss.setId("0000000-000000000000001-oozie-wrkf-C@1"); + endMiss.setId(id); endMissBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); endMissBean.setAppName("Test-SLA-End-Miss"); endMiss.setEventStatus(EventStatus.END_MISS); @@ -160,14 +162,15 @@ public class TestJMSSLAEventListener extends XTestCase { public void testOnSLADurationMissEvent() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus durationMiss = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus durationMiss = _createSLACalcStatus(id); SLARegistrationBean durationMissBean = durationMiss.getSLARegistrationBean(); Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z"); Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z"); Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T14:00Z"); long expectedDuration = ( expectedEndDate.getTime() - actualStartDate.getTime() ) / (1000 * 60); - durationMiss.setId("0000000-000000000000001-oozie-wrkf-C@1"); + durationMiss.setId(id); durationMissBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); durationMissBean.setAppName("Test-SLA-Duration-Miss"); durationMiss.setEventStatus(EventStatus.DURATION_MISS); @@ -212,9 +215,10 @@ public class TestJMSSLAEventListener extends XTestCase { public void testSLAJobSelectors() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus startMiss = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus startMiss = _createSLACalcStatus(id); SLARegistrationBean startMissBean = startMiss.getSLARegistrationBean(); - startMiss.setId("0000000-000000000000001-oozie-wrkf-C@1"); + startMiss.setId(id); startMissBean.setAppName("Test-SLA-Start-Miss"); startMissBean.setAppType(AppType.COORDINATOR_ACTION); startMissBean.setUser("dummyuser"); @@ -239,10 +243,11 @@ public class TestJMSSLAEventListener extends XTestCase { public void testSLAJobSelectorsNegative() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus startMiss = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus startMiss = _createSLACalcStatus(id); SLARegistrationBean startMissBean = startMiss.getSLARegistrationBean(); - startMiss.setId("0000000-000000000000001-oozie-wrkf-C@1"); + startMiss.setId(id); startMissBean.setAppName("Test-SLA-Start-Miss"); startMissBean.setAppType(AppType.COORDINATOR_ACTION); startMissBean.setUser("dummyuser"); @@ -265,7 +270,8 @@ public class TestJMSSLAEventListener extends XTestCase { public void testOnSLAStartMetEvent() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus startMet = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus startMet = _createSLACalcStatus(id); SLARegistrationBean startMetBean = startMet.getSLARegistrationBean(); Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T10:00Z"); Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T09:55Z"); @@ -273,7 +279,7 @@ public class TestJMSSLAEventListener extends XTestCase { startMet.setEventStatus(EventStatus.START_MET); startMet.setSLAStatus(SLAStatus.IN_PROCESS); startMetBean.setAppType(AppType.COORDINATOR_ACTION); - startMet.setId("0000000-000000000000001-oozie-wrkf-C@1"); + startMet.setId(id); startMetBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); startMetBean.setUser("dummyuser"); startMetBean.setNotificationMsg("notification of start miss"); @@ -304,11 +310,12 @@ public class TestJMSSLAEventListener extends XTestCase { public void testOnSLAEndMetEvent() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus endMet = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus endMet = _createSLACalcStatus(id); SLARegistrationBean endMetBean = endMet.getSLARegistrationBean(); Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z"); Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T11:00Z"); - endMet.setId("0000000-000000000000001-oozie-wrkf-C@1"); + endMet.setId(id); endMetBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); endMetBean.setAppName("Test-SLA-End-Met"); endMet.setEventStatus(EventStatus.END_MET); @@ -344,7 +351,8 @@ public class TestJMSSLAEventListener extends XTestCase { public void testOnSLADurationMetEvent() throws Exception { JMSSLAEventListener slaListener = new JMSSLAEventListener(); slaListener.init(conf); - SLACalcStatus durationMet = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus durationMet = _createSLACalcStatus(id); SLARegistrationBean durationMetBean = durationMet.getSLARegistrationBean(); Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); @@ -352,7 +360,7 @@ public class TestJMSSLAEventListener extends XTestCase { Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z"); Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T14:00Z"); long expectedDuration = ( expectedEndDate.getTime() - actualStartDate.getTime() ) / (1000 * 60); - durationMet.setId("0000000-000000000000001-oozie-wrkf-C@1"); + durationMet.setId(id); durationMetBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); durationMetBean.setAppName("Test-SLA-Duration-Met"); durationMet.setEventStatus(EventStatus.DURATION_MET); @@ -393,4 +401,11 @@ public class TestJMSSLAEventListener extends XTestCase { assertEquals(actualDuration, durationMissMsg.getActualDuration()); assertEquals("notification of duration met", durationMissMsg.getNotificationMessage()); } + + private SLACalcStatus _createSLACalcStatus(String actionId) { + SLARegistrationBean reg = new SLARegistrationBean(); + reg.setId(actionId); + reg.setAppType(AppType.COORDINATOR_ACTION); + return new SLACalcStatus(reg); + } } http://git-wip-us.apache.org/repos/asf/oozie/blob/caf51232/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java b/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java index f2f5a21..0dcb10e 100644 --- a/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java +++ b/core/src/test/java/org/apache/oozie/sla/TestSLAEmailEventListener.java @@ -19,6 +19,7 @@ package org.apache.oozie.sla; import java.util.Date; + import org.apache.hadoop.conf.Configuration; import org.apache.oozie.AppType; import org.apache.oozie.action.email.EmailActionExecutor; @@ -32,10 +33,13 @@ import org.apache.oozie.test.XTestCase; import org.apache.oozie.util.DateUtils; import org.junit.After; import org.junit.Before; + import com.icegreen.greenmail.util.GreenMail; import com.icegreen.greenmail.util.ServerSetup; + import javax.mail.Message.RecipientType; import javax.mail.internet.MimeMessage; + import org.apache.oozie.sla.listener.SLAEmailEventListener; import org.apache.oozie.sla.listener.SLAEmailEventListener.EmailField; import org.apache.oozie.sla.service.SLAService; @@ -83,13 +87,14 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testOnStartMiss() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); Date actualstartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z"); event.setEventStatus(EventStatus.START_MISS); event.setJobStatus(JobEvent.EventStatus.STARTED.toString()); - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); eventBean.setAppName("Test-SLA-Start-Miss"); eventBean.setUser("dummyuser"); @@ -140,13 +145,14 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testOnEndMiss() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z"); Date expectedEndDate = DateUtils.parseDateUTC("2013-01-01T12:00Z"); Date actualEndDate = DateUtils.parseDateUTC("2013-01-01T13:00Z"); - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); event.setEventStatus(EventStatus.END_MISS); event.setJobStatus(JobEvent.EventStatus.SUCCESS.toString()); @@ -207,7 +213,8 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testOnDurationMiss() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); Date expectedStartDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); Date actualStartDate = DateUtils.parseDateUTC("2013-01-01T00:10Z"); @@ -217,7 +224,7 @@ public class TestSLAEmailEventListener extends XTestCase { long actualDuration = actualEndDate.getTime() - actualStartDate.getTime(); long expectedDurationInMins = expectedDuration / 60000; long actualDurationInMins = actualDuration / 60000; - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setParentId("0000000-000000000000001-oozie-wrkf-C"); event.setEventStatus(EventStatus.DURATION_MISS); event.setJobStatus(JobEvent.EventStatus.SUCCESS.toString()); @@ -282,7 +289,8 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testUserAlertEventSetting() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); // user choose only END MISS, thus, START_MISS email should not be sent eventBean.setAlertEvents(EventStatus.END_MISS.name()); @@ -290,7 +298,7 @@ public class TestSLAEmailEventListener extends XTestCase { Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); Date actualstartDate = DateUtils.parseDateUTC("2013-01-01T01:00Z"); event.setEventStatus(EventStatus.START_MISS); - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setAppName("Test-SLA-Start-Miss"); eventBean.setUser("dummyuser"); eventBean.setNominalTime(startDate); @@ -319,13 +327,14 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testInvalidDestAddress() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); // set invalid address as alert contact eventBean.setAlertContact("invalidAddress"); event.setEventStatus(EventStatus.START_MISS); - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setAppType(AppType.COORDINATOR_ACTION); eventBean.setAppName("Test-SLA-Start-Miss"); eventBean.setUser("dummyuser"); @@ -341,13 +350,14 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testNoDestAddress() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); // set empty address as alert contact eventBean.setAlertContact(""); event.setEventStatus(EventStatus.START_MISS); - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setAppType(AppType.COORDINATOR_ACTION); eventBean.setAppName("Test-SLA-Start-Miss"); eventBean.setUser("dummyuser"); @@ -363,13 +373,14 @@ public class TestSLAEmailEventListener extends XTestCase { } public void testMultipleDestAddress() throws Exception { - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); Date startDate = DateUtils.parseDateUTC("2013-01-01T00:00Z"); // set multiple addresses as alert contact eventBean.setAlertContact("[email protected], [email protected]"); event.setEventStatus(EventStatus.START_MISS); - event.setId("0000000-000000000000001-oozie-wrkf-C@1"); + event.setId(id); eventBean.setAppType(AppType.COORDINATOR_ACTION); eventBean.setAppName("Test-SLA-Start-Miss"); eventBean.setUser("dummyuser"); @@ -391,7 +402,8 @@ public class TestSLAEmailEventListener extends XTestCase { String blackListedEmail = "[email protected]"; // add email to blacklist slaEmailListener.addBlackList(blackListedEmail); - SLACalcStatus event = new SLACalcStatus(new SLARegistrationBean()); + String id = "0000000-000000000000001-oozie-wrkf-C@1"; + SLACalcStatus event = _createSLACalcStatus(id); SLARegistrationBean eventBean = event.getSLARegistrationBean(); event.setEventStatus(EventStatus.START_MISS); eventBean.setAlertContact(blackListedEmail); @@ -414,4 +426,11 @@ public class TestSLAEmailEventListener extends XTestCase { msgs = greenMail.getReceivedMessages(); assertEquals(msgs.length, 1); } + + private SLACalcStatus _createSLACalcStatus(String actionId) { + SLARegistrationBean reg = new SLARegistrationBean(); + reg.setId(actionId); + reg.setAppType(AppType.COORDINATOR_ACTION); + return new SLACalcStatus(reg); + } } http://git-wip-us.apache.org/repos/asf/oozie/blob/caf51232/core/src/test/java/org/apache/oozie/sla/TestSLAJobEventListener.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/sla/TestSLAJobEventListener.java b/core/src/test/java/org/apache/oozie/sla/TestSLAJobEventListener.java index b033d4d..6671d50 100644 --- a/core/src/test/java/org/apache/oozie/sla/TestSLAJobEventListener.java +++ b/core/src/test/java/org/apache/oozie/sla/TestSLAJobEventListener.java @@ -94,14 +94,14 @@ public class TestSLAJobEventListener extends XTestCase { assertEquals(1, serviceObj.getEventProcessed()); //Job switching to running is only partially //sla processed. so state = 1 - job = _createSLARegBean("wa1", AppType.WORKFLOW_ACTION); + job = _createSLARegBean("wfId1@wa1", AppType.WORKFLOW_ACTION); slas.addRegistrationEvent(job); assertEquals(2, slas.getSLACalculator().size()); job.setExpectedStart(DateUtils.parseDateUTC("2012-07-22T00:00Z")); - WorkflowActionEvent wae = new WorkflowActionEvent("wa1", "wfId1", WorkflowAction.Status.RUNNING, "user1", + WorkflowActionEvent wae = new WorkflowActionEvent("wfId1@wa1", "wfId1", WorkflowAction.Status.RUNNING, "user1", "wf-app-name1", actualStart, null); listener.onWorkflowActionEvent(wae); - serviceObj = slas.getSLACalculator().get("wa1"); + serviceObj = slas.getSLACalculator().get("wfId1@wa1"); // check that start sla has been calculated assertEquals(EventStatus.START_MISS, serviceObj.getEventStatus()); @@ -120,17 +120,17 @@ public class TestSLAJobEventListener extends XTestCase { assertEquals(EventStatus.END_MET, summary.getEventStatus()); - job = _createSLARegBean("ca1", AppType.COORDINATOR_ACTION); + job = _createSLARegBean("cj1@ca1", AppType.COORDINATOR_ACTION); actualEnd = DateUtils.parseDateUTC("2012-07-22T02:00Z"); slas.addRegistrationEvent(job); assertEquals(4, slas.getSLACalculator().size()); - CoordinatorActionEvent cae = new CoordinatorActionEvent("ca1", "cj1", CoordinatorAction.Status.RUNNING, "user1", + CoordinatorActionEvent cae = new CoordinatorActionEvent("cj1@ca1", "cj1", CoordinatorAction.Status.RUNNING, "user1", "coord-app-name1", null, actualEnd, null); listener.onCoordinatorActionEvent(cae); - cae = new CoordinatorActionEvent("ca1", "cj1", CoordinatorAction.Status.KILLED, "user1", + cae = new CoordinatorActionEvent("cj1@ca1", "cj1", CoordinatorAction.Status.KILLED, "user1", "coord-app-name1", null, actualEnd, null); listener.onCoordinatorActionEvent(cae); - summary = SLASummaryQueryExecutor.getInstance().get(SLASummaryQuery.GET_SLA_SUMMARY, "ca1"); + summary = SLASummaryQueryExecutor.getInstance().get(SLASummaryQuery.GET_SLA_SUMMARY, "cj1@ca1"); // check that all events are processed assertEquals(8, summary.getEventProcessed()); assertEquals(EventStatus.END_MISS, summary.getEventStatus());
