@Test
public void testDeleteMessagesOnStartup() throws Exception {
createStorage();
Queue theQueue = new FakeQueue(new SimpleString(""));
HashMap<Long, Queue> queues = new HashMap<>();
queues.put(100L, theQueue);
Message msg = new CoreMessage(1, 100);
journal.storeMessage(msg);
for (int i = 2; i < 100; i++) {
journal.storeMessage(new CoreMessage(i, 100));
}
journal.storeReference(100, 1, true);
journal.stop();
journal.start();
journal.loadBindingJournal(new ArrayList<QueueBindingInfo>(), new ArrayList<GroupingInfo>(), new ArrayList<AddressBindingInfo>());
FakePostOffice postOffice = new FakePostOffice();
journal.loadMessageJournal(postOffice, null, null, null, null, null, null, new PostOfficeJournalLoader(postOffice, null, journal, null, null, null, null, null, queues));
Assert.assertEquals(98, deletedMessage.size());
for (Long messageID : deletedMessage) {
Assert.assertTrue("messageID = " + messageID, messageID.longValue() >= 2 && messageID <= 99);
}
}