@Test
@Transactional
public void testGuaranteedOrder_processing_msgIsNotGuaranteed() throws InterruptedException {

    // prepare messages that is not guaranteed => continue processing
    insertNewMessage("id1", MsgStateEnum.PROCESSING, FUNNEL_VALUE, false);
    Message msg = insertNewMessage("id2", MsgStateEnum.PROCESSING, FUNNEL_VALUE, true);
    // action
    messagePollExecutor.startMessageProcessing(msg);
    Assert.assertThat(em.find(Message.class, msg.getMsgId()).getState(), CoreMatchers.is(MsgStateEnum.PROCESSING));
}