Class ParallelContextPropagationTests


  • @Disabled("From the notes this seems like it could have small yet non-trivial implications, so not sure if we want to enable now.")
    public class ParallelContextPropagationTests
    extends BaseJUnit5Test
    • Constructor Detail

      • ParallelContextPropagationTests

        public ParallelContextPropagationTests()
    • Method Detail

      • testPartitionContextPropagation

        @TCKTest(versions="1.1.WORKING",assertions="The values of JobContext and StepContext can be accessed from an artifact running in a partition.",specRefs={@SpecRef(version="1.0",section="10.9.1",notes="API for JobContext"),@SpecRef(version="1.0",section="10.9.2",notes="API for StepContext")},apiRefs={@APIRef(className="jakarta.batch.runtime.context.JobContext",methodNames={"getProperties","getJobName","getExecutionId","getInstanceId"}),@APIRef(className="jakarta.batch.runtime.context.StepContext",methodNames={"getStepExecutionId","getProperties"})},issueRefs="https://java.net/bugzilla/show_bug.cgi?id=5164",strategy="First, certain JobContext and StepContext values (properties, names, ids, etc.) are checked against hard-coded values within the executing batchlet. Then, a PartitionCollector formats some of the values into a String, which is passed to a PartitionAnalyzer. The PartitionAnalyzer sets the job exit status to this formatted String. Finally, we check that the values obtained by parsing the job exit status correspond with the values obtained from the JobExecution and StepExecution.",notes="There is no particular place in the spec that says that partitions share the same values for the getters tested as the top-level JobContext/StepContext.")
        @Test
        public void testPartitionContextPropagation()
                                             throws Exception
        Throws:
        Exception
      • testSplitFlowContextPropagation

        @TCKTest(versions="1.1.WORKING",assertions="The values of JobContext and StepContext can be accessed from an artifact running in a split-flow.",specRefs={@SpecRef(version="1.0",section="10.9.1",notes="API for JobContext"),@SpecRef(version="1.0",section="10.9.2",notes="API for StepContext")},apiRefs={@APIRef(className="jakarta.batch.runtime.context.JobContext",methodNames={"getProperties","getJobName","getExecutionId","getInstanceId"}),@APIRef(className="jakarta.batch.runtime.context.StepContext",methodNames="getStepExecutionId")},issueRefs="https://java.net/bugzilla/show_bug.cgi?id=5164",strategy="First, certain JobContext and StepContext values (properties, names, ids, etc.) are checked against hard-coded values within the executing batchlet. Then, each step within the split-flow (they all use the same batchlet) sets its exit status to a formatted String of these values. Finally, we check that the values obtained by parsing the exit statuses of the steps correspond with the values obtained from the JobExecution and StepExecutions.",notes="There is no particular place in the spec that says that split-flows share the same values for the getters tested as the top-level JobContext/StepContext.")
        @Test
        public void testSplitFlowContextPropagation()
                                             throws Exception
        Throws:
        Exception
      • afterTest

        @AfterAll
        public static void afterTest()