@Test
public void onlyNormalAndChatMessageAreArchived() {

    UserMessageStanzaBroker tested = buildTested(true, false);
    Stream.of(MessageStanzaType.values()).filter(messageStanzaType -> messageStanzaType != MessageStanzaType.NORMAL)
            .filter(messageStanzaType -> messageStanzaType != MessageStanzaType.CHAT).forEach(messageStanzaType -> {
                MessageStanza stanza = buildMessageStanza(messageStanzaType, null, ALICE_IN_RABBIT_HOLE,
                        "hello world");
                tested.writeToSession(stanza);
                julietArchive.assertEmpty();
                romeoArchive.assertEmpty();
                macbethArchive.assertEmpty();
            });
    Stream.of(MessageStanzaType.CHAT, MessageStanzaType.NORMAL).forEach(messageStanzaType -> {
        julietArchive.clear();
        MessageStanza messageStanza = buildMessageStanza(messageStanzaType, null, ALICE_IN_RABBIT_HOLE,
                "hello world");
        tested.writeToSession(messageStanza);
        julietArchive.assertUniqueArchivedMessageStanza(messageStanza);
    });
}