From 581fd743e0b803864bcfee8fa4d1fd491d2513b4 Mon Sep 17 00:00:00 2001 From: VeeraBabu Jakkula Date: Tue, 20 Oct 2026 19:28:50 +0530 Subject: [PATCH] test: cover non-interruptive event lifecycle --- .../phased/TestPhasedNonInterruptive.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/phased-testing-testng/src/test/java/com/adobe/campaign/tests/integro/phased/TestPhasedNonInterruptive.java b/phased-testing-testng/src/test/java/com/adobe/campaign/tests/integro/phased/TestPhasedNonInterruptive.java index 5c1221f..31d5315 100644 --- a/phased-testing-testng/src/test/java/com/adobe/campaign/tests/integro/phased/TestPhasedNonInterruptive.java +++ b/phased-testing-testng/src/test/java/com/adobe/campaign/tests/integro/phased/TestPhasedNonInterruptive.java @@ -127,6 +127,30 @@ public void testNonInterruptiveEventHelloWorld_asString() lessThan(executionWait + 100)); } + @Test(description = "A test to check the complete non-interruptive event lifecycle") + public void testNonInterruptiveEventLifecycle() { + String myEvent = MyNonInterruptiveEvent.class.getTypeName(); + String stepName = "eventLifecycle"; + NonInterruptiveEvent nie = new MyNonInterruptiveEvent(); + + assertThat("The event should be stopped before it starts", + nie.getState(), equalTo(NonInterruptiveEvent.states.DEFINED)); + assertThat("The event should be finished before it starts", nie.isFinished()); + + NonInterruptiveEvent startedEvent = PhasedEventManager.startEvent(myEvent, stepName); + assertThat("The event should be started", startedEvent.getState(), + equalTo(NonInterruptiveEvent.states.STARTED)); + assertThat("The event should be running", !startedEvent.isFinished()); + + assertThat("The event should finish when waited on", startedEvent.waitTillStarted()); + assertThat("The event should be finished after waiting", startedEvent.isFinished()); + + NonInterruptiveEvent finishedEvent = PhasedEventManager.finishEvent(myEvent, stepName); + assertThat("The manager should return the same event", finishedEvent, equalTo(startedEvent)); + assertThat("The event should have a finished state", finishedEvent.getState(), + equalTo(NonInterruptiveEvent.states.FINISHED)); + } + @Test public void eventManagerTests() { String myEvent = MyNonInterruptiveEvent.class.getTypeName();