summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java')
-rw-r--r--qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java46
1 files changed, 28 insertions, 18 deletions
diff --git a/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java b/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java
index 29e9ae19d7..f9627dc6c4 100644
--- a/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java
+++ b/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreTest.java
@@ -20,13 +20,16 @@
*/
package org.apache.qpid.server.store.berkeleydb;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import java.io.File;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
-import org.apache.qpid.server.store.*;
+import org.apache.qpid.server.store.StoreException;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.BasicContentHeaderProperties;
import org.apache.qpid.framing.ContentHeaderBody;
@@ -42,6 +45,14 @@ import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.protocol.v0_8.MessageMetaDataType_0_8;
+import org.apache.qpid.server.store.MessageStoreRecoveryHandler;
+import org.apache.qpid.server.store.MessageStoreRecoveryHandler.StoredMessageRecoveryHandler;
+import org.apache.qpid.server.store.MessageStoreTest;
+import org.apache.qpid.server.store.MessageStore;
+import org.apache.qpid.server.store.StorableMessageMetaData;
+import org.apache.qpid.server.store.StoredMessage;
+import org.apache.qpid.server.store.Transaction;
+import org.apache.qpid.server.store.TransactionLogResource;
import org.apache.qpid.transport.DeliveryProperties;
import org.apache.qpid.transport.Header;
import org.apache.qpid.transport.MessageAcceptMode;
@@ -51,8 +62,6 @@ import org.apache.qpid.transport.MessageDeliveryPriority;
import org.apache.qpid.transport.MessageProperties;
import org.apache.qpid.transport.MessageTransfer;
-import static org.mockito.Mockito.mock;
-
/**
* Subclass of MessageStoreTest which runs the standard tests from the superclass against
* the BDB Store as well as additional tests specific to the BDB store-implementation.
@@ -70,7 +79,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
{
MessageStore store = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(store);
+ BDBMessageStore bdbStore = assertBDBStore(store);
// Create content ByteBuffers.
// Split the content into 2 chunks for the 0-8 message, as per broker behaviour.
@@ -123,7 +132,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
/*
* reload the store only (read-only)
*/
- AbstractBDBMessageStore readOnlyStore = reloadStore(bdbStore);
+ BDBMessageStore readOnlyStore = reloadStore(bdbStore);
/*
* Read back and validate the 0-8 message metadata and content
@@ -222,15 +231,16 @@ public class BDBMessageStoreTest extends MessageStoreTest
* Use this method instead of reloading the virtual host like other tests in order
* to avoid the recovery handler deleting the message for not being on a queue.
*/
- private AbstractBDBMessageStore reloadStore(AbstractBDBMessageStore messageStore) throws Exception
+ private BDBMessageStore reloadStore(BDBMessageStore messageStore) throws Exception
{
messageStore.close();
- AbstractBDBMessageStore newStore = new BDBMessageStore();
- newStore.setVirtualHost(getVirtualHostModel());
- newStore.configure(true);
+ BDBMessageStore newStore = new BDBMessageStore();
+ MessageStoreRecoveryHandler recoveryHandler = mock(MessageStoreRecoveryHandler.class);
+ when(recoveryHandler.begin()).thenReturn(mock(StoredMessageRecoveryHandler.class));
+ newStore.configureMessageStore(getVirtualHostModel(), recoveryHandler, null);
- newStore.startWithNoRecover();
+ newStore.activate();
return newStore;
}
@@ -285,7 +295,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
public void testGetContentWithOffset() throws Exception
{
MessageStore store = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(store);
+ BDBMessageStore bdbStore = assertBDBStore(store);
StoredMessage<MessageMetaData> storedMessage_0_8 = createAndStoreSingleChunkMessage_0_8(store);
long messageid_0_8 = storedMessage_0_8.getMessageNumber();
@@ -345,7 +355,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
public void testMessageCreationAndRemoval() throws Exception
{
MessageStore store = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(store);
+ BDBMessageStore bdbStore = assertBDBStore(store);
StoredMessage<MessageMetaData> storedMessage_0_8 = createAndStoreSingleChunkMessage_0_8(store);
long messageid_0_8 = storedMessage_0_8.getMessageNumber();
@@ -370,12 +380,12 @@ public class BDBMessageStoreTest extends MessageStoreTest
assertEquals("Retrieved content when none was expected",
0, bdbStore.getContent(messageid_0_8, 0, dst));
}
- private AbstractBDBMessageStore assertBDBStore(MessageStore store)
+ private BDBMessageStore assertBDBStore(MessageStore store)
{
assertEquals("Test requires an instance of BDBMessageStore to proceed", BDBMessageStore.class, store.getClass());
- return (AbstractBDBMessageStore) store;
+ return (BDBMessageStore) store;
}
private StoredMessage<MessageMetaData> createAndStoreSingleChunkMessage_0_8(MessageStore store)
@@ -408,7 +418,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
{
MessageStore log = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(log);
+ BDBMessageStore bdbStore = assertBDBStore(log);
final UUID mockQueueId = UUIDGenerator.generateRandomUUID();
TransactionLogResource mockQueue = new TransactionLogResource()
@@ -458,7 +468,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
{
MessageStore log = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(log);
+ BDBMessageStore bdbStore = assertBDBStore(log);
final UUID mockQueueId = UUIDGenerator.generateRandomUUID();
TransactionLogResource mockQueue = new TransactionLogResource()
@@ -504,7 +514,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
public void testOnDelete() throws Exception
{
MessageStore log = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(log);
+ BDBMessageStore bdbStore = assertBDBStore(log);
String storeLocation = bdbStore.getStoreLocation();
File location = new File(storeLocation);
@@ -527,7 +537,7 @@ public class BDBMessageStoreTest extends MessageStoreTest
{
MessageStore log = getVirtualHost().getMessageStore();
- AbstractBDBMessageStore bdbStore = assertBDBStore(log);
+ BDBMessageStore bdbStore = assertBDBStore(log);
final UUID mockQueueId = UUIDGenerator.generateRandomUUID();
TransactionLogResource mockQueue = new TransactionLogResource()