|
48 | 48 |
|
49 | 49 | public class ConnectionManagerWorkflowTest {
|
50 | 50 |
|
51 |
| - private static final ConfigFetchActivity mConfigFetchActivity = |
| 51 | + private final ConfigFetchActivity mConfigFetchActivity = |
52 | 52 | Mockito.mock(ConfigFetchActivity.class, Mockito.withSettings().withoutAnnotations());
|
53 |
| - private static final ConnectionDeletionActivity mConnectionDeletionActivity = |
| 53 | + private final ConnectionDeletionActivity mConnectionDeletionActivity = |
54 | 54 | Mockito.mock(ConnectionDeletionActivity.class, Mockito.withSettings().withoutAnnotations());
|
55 |
| - private static final GenerateInputActivityImpl mGenerateInputActivityImpl = |
| 55 | + private final GenerateInputActivityImpl mGenerateInputActivityImpl = |
56 | 56 | Mockito.mock(GenerateInputActivityImpl.class, Mockito.withSettings().withoutAnnotations());
|
57 |
| - private static final JobCreationAndStatusUpdateActivity mJobCreationAndStatusUpdateActivity = |
| 57 | + private final JobCreationAndStatusUpdateActivity mJobCreationAndStatusUpdateActivity = |
58 | 58 | Mockito.mock(JobCreationAndStatusUpdateActivity.class, Mockito.withSettings().withoutAnnotations());
|
59 | 59 |
|
60 | 60 | private TestWorkflowEnvironment testEnv;
|
@@ -443,6 +443,73 @@ public void cancelRunning() {
|
443 | 443 | testEnv.shutdown();
|
444 | 444 | }
|
445 | 445 |
|
| 446 | + @Test |
| 447 | + @DisplayName("Test that resetting a-non running workflow starts a reset") |
| 448 | + public void resetStart() { |
| 449 | + |
| 450 | + final UUID testId = UUID.randomUUID(); |
| 451 | + final TestStateListener testStateListener = new TestStateListener(); |
| 452 | + final WorkflowState workflowState = new WorkflowState(testId, testStateListener); |
| 453 | + |
| 454 | + final ConnectionUpdaterInput input = new ConnectionUpdaterInput( |
| 455 | + UUID.randomUUID(), |
| 456 | + 1L, |
| 457 | + 1, |
| 458 | + false, |
| 459 | + 1, |
| 460 | + workflowState, |
| 461 | + false); |
| 462 | + |
| 463 | + WorkflowClient.start(workflow::run, input); |
| 464 | + testEnv.sleep(Duration.ofSeconds(30L)); |
| 465 | + workflow.resetConnection(); |
| 466 | + testEnv.sleep(Duration.ofSeconds(90L)); |
| 467 | + |
| 468 | + final Queue<ChangedStateEvent> events = testStateListener.events(testId); |
| 469 | + |
| 470 | + Assertions.assertThat(events) |
| 471 | + .filteredOn(changedStateEvent -> changedStateEvent.getField() == StateField.RESET && changedStateEvent.isValue()) |
| 472 | + .hasSizeGreaterThanOrEqualTo(1); |
| 473 | + |
| 474 | + Mockito.verify(mJobCreationAndStatusUpdateActivity).jobSuccess(Mockito.any()); |
| 475 | + |
| 476 | + testEnv.shutdown(); |
| 477 | + } |
| 478 | + |
| 479 | + @Test |
| 480 | + @DisplayName("Test that resetting a running workflow starts cancel the running workflow") |
| 481 | + public void resetCancelRunningWorkflow() { |
| 482 | + |
| 483 | + final UUID testId = UUID.randomUUID(); |
| 484 | + final TestStateListener testStateListener = new TestStateListener(); |
| 485 | + final WorkflowState workflowState = new WorkflowState(testId, testStateListener); |
| 486 | + |
| 487 | + final ConnectionUpdaterInput input = new ConnectionUpdaterInput( |
| 488 | + UUID.randomUUID(), |
| 489 | + 1L, |
| 490 | + 1, |
| 491 | + false, |
| 492 | + 1, |
| 493 | + workflowState, |
| 494 | + false); |
| 495 | + |
| 496 | + WorkflowClient.start(workflow::run, input); |
| 497 | + workflow.submitManualSync(); |
| 498 | + testEnv.sleep(Duration.ofSeconds(30L)); |
| 499 | + workflow.resetConnection(); |
| 500 | + testEnv.sleep(Duration.ofSeconds(30L)); |
| 501 | + |
| 502 | + final Queue<ChangedStateEvent> events = testStateListener.events(testId); |
| 503 | + |
| 504 | + Assertions.assertThat(events) |
| 505 | + .filteredOn(changedStateEvent -> changedStateEvent.getField() == StateField.RESET && changedStateEvent.isValue()) |
| 506 | + .hasSizeGreaterThanOrEqualTo(1); |
| 507 | + |
| 508 | + Mockito.verify(mJobCreationAndStatusUpdateActivity).jobCancelled(Mockito.any()); |
| 509 | + |
| 510 | + testEnv.shutdown(); |
| 511 | + } |
| 512 | + |
446 | 513 | }
|
447 | 514 |
|
448 | 515 | @Nested
|
|
0 commit comments