From 9cfaa7d7d996cb41272f1e24c5ec58c63d8b3d49 Mon Sep 17 00:00:00 2001 From: Richard Otte Date: Mon, 6 Jan 2020 16:12:57 -0500 Subject: [PATCH] test: adding a test for previous fix --- .../stepworkflow/StepWorkflowTest.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/test/java/com/synopsys/integration/stepworkflow/StepWorkflowTest.java diff --git a/src/test/java/com/synopsys/integration/stepworkflow/StepWorkflowTest.java b/src/test/java/com/synopsys/integration/stepworkflow/StepWorkflowTest.java new file mode 100644 index 0000000..0262636 --- /dev/null +++ b/src/test/java/com/synopsys/integration/stepworkflow/StepWorkflowTest.java @@ -0,0 +1,53 @@ +package com.synopsys.integration.stepworkflow; + +import org.junit.Assert; +import org.junit.jupiter.api.Test; + +import com.synopsys.integration.exception.IntegrationException; + +public class StepWorkflowTest { + public static final Integer DATA = 1; + + @Test + public void testSuccessfulSingleStepDataStepWorkflow() { + StepWorkflowResponse response = StepWorkflow.just(SubStep.ofSupplier(this::successfulDataSupplier)) + .run(); + + Assert.assertTrue(response.wasSuccessful()); + Assert.assertEquals(DATA, response.getData()); + Assert.assertNull(response.getException()); + } + + @Test + public void testSuccessfulSingleStepDatalessStepWorkflow() { + StepWorkflowResponse response = StepWorkflow.just(SubStep.ofExecutor(this::successfulExecutor)) + .run(); + + Assert.assertTrue(response.wasSuccessful()); + Assert.assertNull(response.getData()); + Assert.assertNull(response.getException()); + } + + @Test + public void testUnsuccessfulSingleStepStepWorkflow() { + StepWorkflowResponse response = StepWorkflow.just(SubStep.ofSupplier(this::unsuccessfulDataSupplier)) + .run(); + + Assert.assertFalse(response.wasSuccessful()); + Assert.assertNull(response.getData()); + Assert.assertNotNull(response.getException()); + } + + private void successfulExecutor() { + // No body, should always succeed. + } + + private Integer successfulDataSupplier() { + return DATA; + } + + private Integer unsuccessfulDataSupplier() throws IntegrationException { + throw new IntegrationException(); + } + +}