use of io.temporal.samples.payloadconverter.cloudevents.CEWorkflow in project samples-java by temporalio.
the class CloudEventsPayloadConverterTest method testActivityImpl.
@Test
public void testActivityImpl() {
List<CloudEvent> cloudEventList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
cloudEventList.add(CloudEventBuilder.v1().withId(String.valueOf(100 + i)).withType("example.demo").withSource(URI.create("http://temporal.io")).withData("application/json", ("{\n" + "\"greeting\": \"hello " + i + "\"\n" + "}").getBytes(Charset.defaultCharset())).build());
}
WorkflowOptions workflowOptions = WorkflowOptions.newBuilder().setTaskQueue(testWorkflowRule.getTaskQueue()).build();
CEWorkflow workflow = testWorkflowRule.getWorkflowClient().newWorkflowStub(CEWorkflow.class, workflowOptions);
// start async
WorkflowClient.start(workflow::exec, cloudEventList.get(0));
for (int j = 1; j < 10; j++) {
workflow.addEvent(cloudEventList.get(j));
}
// Get the CE result and get its data (JSON)
String result = ((JsonCloudEventData) workflow.getLastEvent().getData()).getNode().get("greeting").asText();
assertNotNull(result);
assertEquals("hello 9", result);
}
Aggregations