From 1f1d462fcc7f8d9e624328e06d43056bb6cc3ef8 Mon Sep 17 00:00:00 2001 From: Andy Huynh Date: Fri, 7 Feb 2025 08:21:34 +0100 Subject: [PATCH] feat(#1218): add --- .../citrusframework/DefaultTestCaseTest.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java b/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java index a47cfd74e4..f666352fdc 100644 --- a/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java +++ b/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java @@ -34,6 +34,7 @@ import static org.citrusframework.TestResult.RESULT.FAILURE; import static org.citrusframework.TestResult.success; import static org.citrusframework.util.TestUtils.WAIT_THREAD_PREFIX; +import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -176,15 +177,18 @@ public void doExecuteAsync(final TestContext context) { } @Test - public void testTestListenerEventsWithSuccessTestResult() { + public void testTestListenerEventsWithSuccessfulTestResult() { TestListener testListenerMock = mock(); context.getTestListeners().addTestListener(testListenerMock); + BeforeTest beforeTestMock = mock(); List beforeTestListMock = new ArrayList<>(){{add(beforeTestMock);}}; context.setBeforeTest(beforeTestListMock); + TestAction testActionMock = mock(); List testActionListMock = new ArrayList<>(){{add(testActionMock);}}; fixture.setFinalActions(testActionListMock); + AfterTest afterTestMock = mock(); List afterTestListMock = new ArrayList<>(){{add(afterTestMock);}}; context.setAfterTest(afterTestListMock); @@ -206,28 +210,26 @@ public void testTestListenerEventsWithSuccessTestResult() { verifyNoMoreInteractions(testListenerMock); } - @Test() + @Test(expectedExceptions = TestCaseFailedException.class) public void testTestListenerEventsWithFailedTestResult() { TestAction testActionMock = mock(); -// doThrow(CitrusRuntimeException.class).when(testActionMock).execute(context); + doThrow(CitrusRuntimeException.class).when(testActionMock).execute(context); fixture.addTestAction(testActionMock); TestListener testListenerMock = mock(); context.getTestListeners().addTestListener(testListenerMock); + BeforeTest beforeTestMock = mock(); List beforeTestListMock = new ArrayList<>(){{add(beforeTestMock);}}; context.setBeforeTest(beforeTestListMock); + List testActionListMock = new ArrayList<>(){{add(testActionMock);}}; fixture.setFinalActions(testActionListMock); + AfterTest afterTestMock = mock(); List afterTestListMock = new ArrayList<>(){{add(afterTestMock);}}; context.setAfterTest(afterTestListMock); -// TestResult testResultMock = mock(); -// fixture.setTestResult(testResultMock); -// when(testResultMock.isSuccess()).thenReturn(false); fixture.doExecute(context); - CitrusRuntimeException citrusRuntimeExceptionMock = mock(); - context.addException(citrusRuntimeExceptionMock); fixture.finish(context); InOrder inOrder = inOrder(testListenerMock); @@ -237,7 +239,7 @@ public void testTestListenerEventsWithFailedTestResult() { inOrder.verify(testListenerMock, times(1)).onTestFinish(fixture); inOrder.verify(testListenerMock, times(1)).onFinalActionsStart(fixture); inOrder.verify(testListenerMock, times(1)).onFinalActionsEnd(fixture); - inOrder.verify(testListenerMock, times(1)).onTestFailure(fixture, citrusRuntimeExceptionMock); + inOrder.verify(testListenerMock, times(1)).onTestFailure(fixture, fixture.getTestResult().getCause()); inOrder.verify(testListenerMock, times(1)).onBeforeSequenceAfterTest(fixture); inOrder.verify(testListenerMock, times(1)).onAfterSequenceAfterTest(fixture); inOrder.verify(testListenerMock, times(1)).onTestEnd(fixture);