@Test public void shouldDeleteMessageImmediatelyWithZeroTTL() { // given final ExecuteCommandResponse response = apiRule .createCmdRequest() .type(ValueType.MESSAGE, PUBLISH) .command() .put("name", "order canceled") .put("correlationKey", "order-123") .put("timeToLive", 0L) .done() .sendAndAwait(); // when brokerRule.getClock().addTime(MessageObserver.MESSAGE_TIME_TO_LIVE_CHECK_INTERVAL); // then final Record<MessageRecordValue> deletedEvent = testClient.receiveFirstMessageEvent(MessageIntent.DELETED); assertThat(deletedEvent.getKey()).isEqualTo(response.getKey()); assertThat(MsgPackUtil.asMsgPackReturnArray(deletedEvent.getValue().getPayload())) .isEqualTo(EMTPY_OBJECT); Assertions.assertThat(deletedEvent.getValue()) .hasName("order canceled") .hasCorrelationKey("order-123") .hasTimeToLive(0L) .hasMessageId(""); }
@Test public void shouldDeleteMessageImmediatelyWithZeroTTL() { // given final ExecuteCommandResponse response = apiRule .createCmdRequest() .type(ValueType.MESSAGE, PUBLISH) .command() .put("name", "order canceled") .put("correlationKey", "order-123") .put("timeToLive", 0L) .done() .sendAndAwait(); // when brokerRule.getClock().addTime(MessageObserver.MESSAGE_TIME_TO_LIVE_CHECK_INTERVAL); // then final Record<MessageRecordValue> deletedEvent = testClient.receiveFirstMessageEvent(MessageIntent.DELETED); assertThat(deletedEvent.getKey()).isEqualTo(response.getKey()); assertThat(MsgPackUtil.asMsgPackReturnArray(deletedEvent.getValue().getPayload())) .isEqualTo(EMTPY_OBJECT); Assertions.assertThat(deletedEvent.getValue()) .hasName("order canceled") .hasCorrelationKey("order-123") .hasTimeToLive(0L) .hasMessageId(""); }
testClient.receiveFirstMessageEvent(MessageIntent.DELETED); assertThat(deletedEvent.getKey()).isEqualTo(response.getKey()); assertThat(MsgPackUtil.asMsgPackReturnArray(deletedEvent.getValue().getPayload())) .isEqualTo(EMTPY_OBJECT);
testClient.receiveFirstMessageEvent(MessageIntent.DELETED); assertThat(deletedEvent.getKey()).isEqualTo(response.getKey()); assertThat(MsgPackUtil.asMsgPackReturnArray(deletedEvent.getValue().getPayload())) .isEqualTo(EMTPY_OBJECT);