I'm working on a project which interacts with different components.
My doubt is with respect to two components: OrderHandler [Springboot] and OrderHandler-projections [Flink].
I have a DTO customized for date, which is named WorkingDateDTO and is used across different components.
WorkingDateDTO is a date DTO which has a LocalDate wrapped inside it
as follows:
public class WorkingDateDTO {
private LocalDate date;
public LocalDate getDate() {
return this.date;
}
public void setDate(LocalDate date) {
this.date = date;
}
And this is the event sent from OrderHandler component.
Order component sends a OrderEvent. It has a Order date of type WorkingDateDTO (which is customized as per the working date of my
public class OrderEvent {
private String orderId;
private String orderType;
private String orderCode;
private WorkingDateDTO orderDate;
}
Now this event is received by OrderHandler-projections. So when it's received in OrderHandler-projections, there is an error in a few test cases.
The test cases use generator class which generates different orders for testing the code and business logic.
WorkingDateDTO workingDateDTO = new WorkingDateDTO();
LocalDate date = dateGenerator.generate(random,status).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// This is converting date into local date as Java's default dateGenerator will give you a "Date".
//But we need "LocalDate" which is wrapped inside "WorkingDateDTO".
workingDateDTO.setDate(date); // Setting localDate in WorkingDateDTO
orderEvent.setOrderDate(workingDateDTO);
I can't understand what the problem is.
Error: java.lang.AssertionError: Unexpected error in property revertTheLastOrderDateIfAReversalOrderIsSent with args
revertTheLastOrderDateIfAReversalOrderIsSent calls prepareReversedOrder method which throws an error when I run in debug mode.
private OrderEvent prepareReversedOrder(OrderEvent orderEvent)
throws JsonProcessingException {
OrderEvent event =
mapper.readValue(mapper.writeValueAsString(orderEvent), OrderEvent.class);
event.setOrderType("_reversal_");
event.setOrderId(UUID.randomUUID().toString());
System.out.println("$$ prepareReversedOrder - Event : " + event);
return event;
}