summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-core/src/test/java/org/apache/qpid/server/model')
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java32
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/port/AmqpPortImplTest.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java9
3 files changed, 41 insertions, 4 deletions
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
index 20f6e31ebe..4acc925392 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
@@ -22,6 +22,7 @@ package org.apache.qpid.server.model;
import static java.util.Arrays.asList;
import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doAnswer;
@@ -33,12 +34,15 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.security.AccessControlException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatcher;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -55,6 +59,7 @@ import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
+import org.apache.qpid.server.util.Action;
import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.server.virtualhost.TestMemoryVirtualHost;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -259,7 +264,7 @@ public class VirtualHostTest extends QpidTestCase
0,
virtualHost.getChildren(Connection.class).size());
- verify(connection).close(AMQConstant.CONNECTION_FORCED, "Connection closed by external action");
+ verify(connection).closeAsync(AMQConstant.CONNECTION_FORCED, "Connection closed by external action");
}
public void testDeleteVirtualHost_ClosesConnections()
@@ -284,7 +289,7 @@ public class VirtualHostTest extends QpidTestCase
0,
virtualHost.getChildren(Connection.class).size());
- verify(connection).close(AMQConstant.CONNECTION_FORCED, "Connection closed by external action");
+ verify(connection).closeAsync(AMQConstant.CONNECTION_FORCED, "Connection closed by external action");
}
public void testCreateDurableQueue()
@@ -409,7 +414,30 @@ public class VirtualHostTest extends QpidTestCase
private AMQConnectionModel createMockProtocolConnection(final VirtualHost<?, ?, ?> virtualHost)
{
final AMQConnectionModel connection = mock(AMQConnectionModel.class);
+ final List<Action<?>> tasks = new ArrayList<>();
+ final ArgumentCaptor<Action> deleteTaskCaptor = ArgumentCaptor.forClass(Action.class);
+ Answer answer = new Answer()
+ {
+ @Override
+ public Object answer(final InvocationOnMock invocation) throws Throwable
+ {
+ return tasks.add(deleteTaskCaptor.getValue());
+ }
+ };
+ doAnswer(answer).when(connection).addDeleteTask(deleteTaskCaptor.capture());
when(connection.getVirtualHost()).thenReturn(virtualHost);
+ doAnswer(new Answer()
+ {
+ @Override
+ public Object answer(final InvocationOnMock invocation) throws Throwable
+ {
+ for(Action action : tasks)
+ {
+ action.performAction(connection);
+ }
+ return null;
+ }
+ }).when(connection).closeAsync(any(AMQConstant.class),anyString());
when(connection.getRemoteAddressString()).thenReturn("peer:1234");
return connection;
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/port/AmqpPortImplTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/port/AmqpPortImplTest.java
index c153f31872..4df5fb50fc 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/port/AmqpPortImplTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/port/AmqpPortImplTest.java
@@ -91,6 +91,10 @@ public class AmqpPortImplTest extends QpidTestCase
{
if (_port != null)
{
+ while(_port.getConnectionCount() >0)
+ {
+ _port.decrementConnectionCount();
+ }
_port.close();
}
super.tearDown();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java
index f905a98729..aa4e6112d0 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java
@@ -26,6 +26,9 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Map;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
@@ -137,15 +140,17 @@ public class TestConfiguredObject extends AbstractConfiguredObject
}
@StateTransition( currentState = {State.ERRORED, State.UNINITIALIZED}, desiredState = State.ACTIVE )
- protected void activate()
+ protected ListenableFuture<Void> activate()
{
setState(State.ACTIVE);
+ return Futures.immediateFuture(null);
}
@StateTransition( currentState = {State.ERRORED, State.UNINITIALIZED}, desiredState = State.DELETED )
- protected void doDelete()
+ protected ListenableFuture<Void> doDelete()
{
setState(State.DELETED);
+ return Futures.immediateFuture(null);
}
public boolean isOpened()