I have the following definition in my code based on Spring Integration enrichHeader with randomUUID:
@Bean
public Consumer<HeaderEnricherSpec> uriHeaderEnricher() {
return new Consumer<HeaderEnricherSpec>() {
private final String TIMESTAMP = "Timestamp";
private final String MESSAGE_ID = "MessageId";
@Override
public void accept(HeaderEnricherSpec t) {
t.headerFunction(MarklogicMessageHandler.URI,
m -> "/event/" +
format(m.getHeaders().get(TIMESTAMP)) + "/" +
m.getHeaders().get(MESSAGE_ID) +
".xml");
}
private String format(Object object) {
if (!(object instanceof String)) {
return "";
}
String string = (String) object;
return string.substring(0, 10).replaceAll("-", "/");
}
};
}
I'm a bit stymied, though on what a unit test for this code would look like. Any suggestions?