QPID-8083: [System Tests] [REST/HTTP] Eliminate VirtualHostRestTest
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/f81b404c Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/f81b404c Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/f81b404c Branch: refs/heads/master Commit: f81b404c902b4e2eef3184158abb58e9d5fecbb4 Parents: b2f2280 Author: Keith Wall <kw...@apache.org> Authored: Sat Feb 17 18:48:36 2018 +0000 Committer: Keith Wall <kw...@apache.org> Committed: Mon Feb 19 07:52:42 2018 +0000 ---------------------------------------------------------------------- .../qpid/server/model/VirtualHostTest.java | 176 ++++++++++++++-- .../qpid/systest/rest/VirtualHostRestTest.java | 203 ------------------- test-profiles/JavaTransientExcludes | 3 - 3 files changed, 160 insertions(+), 222 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/f81b404c/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java ---------------------------------------------------------------------- diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java b/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java index b303944..b9d8695 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java +++ b/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java @@ -35,6 +35,7 @@ import static org.mockito.Mockito.when; import java.security.AccessControlException; import java.security.Principal; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -50,11 +51,11 @@ import org.mockito.ArgumentMatcher; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import org.apache.qpid.server.exchange.ExchangeDefaults; import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.configuration.store.StoreConfigurationChangeListener; import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor; import org.apache.qpid.server.configuration.updater.TaskExecutor; +import org.apache.qpid.server.exchange.ExchangeDefaults; import org.apache.qpid.server.security.AccessControl; import org.apache.qpid.server.security.Result; import org.apache.qpid.server.security.access.Operation; @@ -68,6 +69,7 @@ import org.apache.qpid.server.store.preferences.PreferenceStoreUpdater; import org.apache.qpid.server.transport.AMQPConnection; import org.apache.qpid.server.transport.AbstractAMQPConnection; import org.apache.qpid.server.util.Action; +import org.apache.qpid.server.virtualhost.NodeAutoCreationPolicy; import org.apache.qpid.server.virtualhost.NoopConnectionEstablishmentPolicy; import org.apache.qpid.server.virtualhost.QueueManagingVirtualHost; import org.apache.qpid.server.virtualhost.TestMemoryVirtualHost; @@ -196,7 +198,7 @@ public class VirtualHostTest extends QpidTestCase final ConfiguredObjectRecord virtualHostCor = virtualHost.asObjectRecord(); // Give virtualhost a queue and an exchange - Queue queue = virtualHost.createChild(Queue.class, Collections.<String, Object>singletonMap(Queue.NAME, "myQueue")); + Queue queue = virtualHost.createChild(Queue.class, Collections.singletonMap(Queue.NAME, "myQueue")); final ConfiguredObjectRecord queueCor = queue.asObjectRecord(); Map<String, Object> exchangeArgs = new HashMap<>(); @@ -230,7 +232,7 @@ public class VirtualHostTest extends QpidTestCase final Iterator<ConfiguredObjectRecord> corIterator = allObjects.iterator(); @Override - public Object answer(final InvocationOnMock invocation) throws Throwable + public Object answer(final InvocationOnMock invocation) { ConfiguredObjectRecordHandler handler = (ConfiguredObjectRecordHandler) invocation.getArguments()[0]; boolean handlerContinue = true; @@ -275,7 +277,7 @@ public class VirtualHostTest extends QpidTestCase final Iterator<ConfiguredObjectRecord> corIterator = allObjects.iterator(); @Override - public Object answer(final InvocationOnMock invocation) throws Throwable + public Object answer(final InvocationOnMock invocation) { ConfiguredObjectRecordHandler handler = (ConfiguredObjectRecordHandler) invocation.getArguments()[0]; while (corIterator.hasNext()) @@ -470,11 +472,11 @@ public class VirtualHostTest extends QpidTestCase verify(connection).block(); } - public void testCreateValidation() throws Exception + public void testCreateValidation() { try { - createVirtualHost(getTestName(), Collections.<String, Object>singletonMap(QueueManagingVirtualHost.NUMBER_OF_SELECTORS, "-1")); + createVirtualHost(getTestName(), Collections.singletonMap(QueueManagingVirtualHost.NUMBER_OF_SELECTORS, "-1")); fail("Exception not thrown for negative number of selectors"); } catch (IllegalConfigurationException e) @@ -483,7 +485,7 @@ public class VirtualHostTest extends QpidTestCase } try { - createVirtualHost(getTestName(), Collections.<String, Object>singletonMap(QueueManagingVirtualHost.CONNECTION_THREAD_POOL_SIZE, "-1")); + createVirtualHost(getTestName(), Collections.singletonMap(QueueManagingVirtualHost.CONNECTION_THREAD_POOL_SIZE, "-1")); fail("Exception not thrown for negative connection thread pool size"); } catch (IllegalConfigurationException e) @@ -501,7 +503,7 @@ public class VirtualHostTest extends QpidTestCase } } - public void testChangeValidation() throws Exception + public void testChangeValidation() { QueueManagingVirtualHost<?> virtualHost = createVirtualHost(getTestName()); try @@ -515,8 +517,8 @@ public class VirtualHostTest extends QpidTestCase } try { - virtualHost.setAttributes(Collections.<String, Object>singletonMap(QueueManagingVirtualHost.CONNECTION_THREAD_POOL_SIZE, - "-1")); + virtualHost.setAttributes(Collections.singletonMap(QueueManagingVirtualHost.CONNECTION_THREAD_POOL_SIZE, + "-1")); fail("Exception not thrown for negative connection thread pool size"); } catch (IllegalConfigurationException e) @@ -525,7 +527,7 @@ public class VirtualHostTest extends QpidTestCase } try { - virtualHost.setAttributes(Collections.<String, Object>singletonMap(QueueManagingVirtualHost.NUMBER_OF_SELECTORS, QueueManagingVirtualHost.DEFAULT_VIRTUALHOST_CONNECTION_THREAD_POOL_SIZE)); + virtualHost.setAttributes(Collections.singletonMap(QueueManagingVirtualHost.NUMBER_OF_SELECTORS, QueueManagingVirtualHost.DEFAULT_VIRTUALHOST_CONNECTION_THREAD_POOL_SIZE)); fail("Exception not thrown for number of selectors equal to connection thread pool size"); } catch (IllegalConfigurationException e) @@ -534,7 +536,7 @@ public class VirtualHostTest extends QpidTestCase } } - public void testRegisterConnection() throws Exception + public void testRegisterConnection() { QueueManagingVirtualHost<?> vhost = createVirtualHost("sdf"); AMQPConnection<?> connection = getMockConnection(); @@ -545,7 +547,7 @@ public class VirtualHostTest extends QpidTestCase assertEquals("unexpected connection object", Collections.singleton(connection), vhost.getConnections()); } - public void testStopVirtualhostClosesConnections() throws Exception + public void testStopVirtualhostClosesConnections() { QueueManagingVirtualHost<?> vhost = createVirtualHost("sdf"); AMQPConnection<?> connection = getMockConnection(); @@ -558,7 +560,7 @@ public class VirtualHostTest extends QpidTestCase verify(connection).closeAsync(); } - public void testRegisterConnectionOnStoppedVirtualhost() throws Exception + public void testRegisterConnectionOnStoppedVirtualhost() { QueueManagingVirtualHost<?> vhost = createVirtualHost("sdf"); AMQPConnection<?> connection = getMockConnection(); @@ -579,6 +581,148 @@ public class VirtualHostTest extends QpidTestCase assertEquals("unexpected number of connections", 1, vhost.getConnectionCount()); } + public void testAddValidAutoCreationPolicies() + { + NodeAutoCreationPolicy[] policies = new NodeAutoCreationPolicy[] { + new NodeAutoCreationPolicy() + { + @Override + public String getPattern() + { + return "fooQ*"; + } + + @Override + public boolean isCreatedOnPublish() + { + return true; + } + + @Override + public boolean isCreatedOnConsume() + { + return true; + } + + @Override + public String getNodeType() + { + return "Queue"; + } + + @Override + public Map<String, Object> getAttributes() + { + return Collections.emptyMap(); + } + }, + new NodeAutoCreationPolicy() + { + @Override + public String getPattern() + { + return "barE*"; + } + + @Override + public boolean isCreatedOnPublish() + { + return true; + } + + @Override + public boolean isCreatedOnConsume() + { + return false; + } + + @Override + public String getNodeType() + { + return "Exchange"; + } + + @Override + public Map<String, Object> getAttributes() + { + return Collections.singletonMap(Exchange.TYPE, "amq.fanout"); + } + } + }; + + QueueManagingVirtualHost<?> vhost = createVirtualHost("host"); + + + Map<String, Object> newAttributes = Collections.singletonMap(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES, + Arrays.asList(policies)); + + vhost.setAttributes(newAttributes); + + List<NodeAutoCreationPolicy> retrievedPoliciesList = vhost.getNodeAutoCreationPolicies(); + assertEquals("Retrieved node policies list has incorrect size", 2, retrievedPoliciesList.size()); + NodeAutoCreationPolicy firstPolicy = retrievedPoliciesList.get(0); + NodeAutoCreationPolicy secondPolicy = retrievedPoliciesList.get(1); + assertEquals("fooQ*", firstPolicy.getPattern()); + assertEquals("barE*", secondPolicy.getPattern()); + assertEquals(true, firstPolicy.isCreatedOnConsume()); + assertEquals(false, secondPolicy.isCreatedOnConsume()); + } + + public void testAddInvalidAutoCreationPolicies() + { + NodeAutoCreationPolicy[] policies = new NodeAutoCreationPolicy[] { + new NodeAutoCreationPolicy() + { + @Override + public String getPattern() + { + return null; + } + + @Override + public boolean isCreatedOnPublish() + { + return true; + } + + @Override + public boolean isCreatedOnConsume() + { + return true; + } + + @Override + public String getNodeType() + { + return "Queue"; + } + + @Override + public Map<String, Object> getAttributes() + { + return Collections.emptyMap(); + } + } + }; + + QueueManagingVirtualHost<?> vhost = createVirtualHost("host"); + Map<String, Object> newAttributes = Collections.singletonMap(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES, + Arrays.asList(policies)); + + try + { + vhost.setAttributes(newAttributes); + fail("Exception not thrown"); + } + catch (IllegalArgumentException e) + { + // PASS + } + + List<NodeAutoCreationPolicy> retrievedPoliciesList = vhost.getNodeAutoCreationPolicies(); + assertTrue("Retrieved node policies is not empty", ((List) retrievedPoliciesList).isEmpty()); + } + private AMQPConnection<?> getMockConnection() { AMQPConnection<?> connection = mock(AMQPConnection.class); @@ -617,7 +761,7 @@ public class VirtualHostTest extends QpidTestCase Answer answer = new Answer() { @Override - public Object answer(final InvocationOnMock invocation) throws Throwable + public Object answer(final InvocationOnMock invocation) { return tasks.add(deleteTaskCaptor.getValue()); } @@ -627,7 +771,7 @@ public class VirtualHostTest extends QpidTestCase doAnswer(new Answer() { @Override - public Object answer(final InvocationOnMock invocation) throws Throwable + public Object answer(final InvocationOnMock invocation) { for(Action action : tasks) { http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/f81b404c/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java ---------------------------------------------------------------------- diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java deleted file mode 100644 index fc15e1c..0000000 --- a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.systest.rest; - -import static javax.servlet.http.HttpServletResponse.SC_OK; - -import java.io.IOException; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import javax.jms.Connection; - -import org.apache.qpid.server.model.Exchange; -import org.apache.qpid.server.virtualhost.NodeAutoCreationPolicy; -import org.apache.qpid.server.virtualhost.QueueManagingVirtualHost; - -public class VirtualHostRestTest extends QpidRestTestCase -{ - public static final String EMPTY_VIRTUALHOSTNODE_NAME = "emptyVHN"; - - private Connection _connection; - - @Override - protected void customizeConfiguration() throws Exception - { - super.customizeConfiguration(); - createTestVirtualHostNode(getDefaultBroker(), EMPTY_VIRTUALHOSTNODE_NAME, false); - } - - public void testAddValidAutoCreationPolicies() throws IOException - { - String hostToUpdate = TEST3_VIRTUALHOST; - String restHostUrl = "virtualhost/" + hostToUpdate + "/" + hostToUpdate; - - Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap(restHostUrl); - Asserts.assertVirtualHost(hostToUpdate, hostDetails); - - NodeAutoCreationPolicy[] policies = new NodeAutoCreationPolicy[] { - new NodeAutoCreationPolicy() - { - @Override - public String getPattern() - { - return "fooQ*"; - } - - @Override - public boolean isCreatedOnPublish() - { - return true; - } - - @Override - public boolean isCreatedOnConsume() - { - return true; - } - - @Override - public String getNodeType() - { - return "Queue"; - } - - @Override - public Map<String, Object> getAttributes() - { - return Collections.emptyMap(); - } - }, - new NodeAutoCreationPolicy() - { - @Override - public String getPattern() - { - return "barE*"; - } - - @Override - public boolean isCreatedOnPublish() - { - return true; - } - - @Override - public boolean isCreatedOnConsume() - { - return false; - } - - @Override - public String getNodeType() - { - return "Exchange"; - } - - @Override - public Map<String, Object> getAttributes() - { - return Collections.<String, Object>singletonMap(Exchange.TYPE, "amq.fanout"); - } - } - }; - Map<String, Object> newAttributes = Collections.<String, Object>singletonMap(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES, - Arrays.asList(policies)); - getRestTestHelper().submitRequest(restHostUrl, "POST", newAttributes, SC_OK); - Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsMap(restHostUrl); - - Object retrievedPolicies = rereadHostDetails.get(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES); - assertNotNull("Retrieved node policies are null", retrievedPolicies); - assertTrue("Retrieved node policies are not of expected type", retrievedPolicies instanceof List); - List retrievedPoliciesList = (List) retrievedPolicies; - assertFalse("Retrieved node policies is empty", retrievedPoliciesList.isEmpty()); - assertEquals("Retrieved node policies list has incorrect size", 2, retrievedPoliciesList.size()); - assertTrue("First policy is not a map", retrievedPoliciesList.get(0) instanceof Map); - assertTrue("Second policy is not a map", retrievedPoliciesList.get(1) instanceof Map); - Map firstPolicy = (Map) retrievedPoliciesList.get(0); - Map secondPolicy = (Map) retrievedPoliciesList.get(1); - assertEquals("fooQ*", firstPolicy.get("pattern")); - assertEquals("barE*", secondPolicy.get("pattern")); - assertEquals(Boolean.TRUE, firstPolicy.get("createdOnConsume")); - assertEquals(Boolean.FALSE, secondPolicy.get("createdOnConsume")); - - } - - - public void testAddInvalidAutoCreationPolicies() throws IOException - { - - String hostToUpdate = TEST3_VIRTUALHOST; - String restHostUrl = "virtualhost/" + hostToUpdate + "/" + hostToUpdate; - - Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap(restHostUrl); - Asserts.assertVirtualHost(hostToUpdate, hostDetails); - - NodeAutoCreationPolicy[] policies = new NodeAutoCreationPolicy[] { - new NodeAutoCreationPolicy() - { - @Override - public String getPattern() - { - return null; - } - - @Override - public boolean isCreatedOnPublish() - { - return true; - } - - @Override - public boolean isCreatedOnConsume() - { - return true; - } - - @Override - public String getNodeType() - { - return "Queue"; - } - - @Override - public Map<String, Object> getAttributes() - { - return Collections.emptyMap(); - } - } - }; - Map<String, Object> newAttributes = Collections.<String, Object>singletonMap(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES, - Arrays.asList(policies)); - getRestTestHelper().submitRequest(restHostUrl, "POST", newAttributes, 422); - - Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsMap(restHostUrl); - - Object retrievedPolicies = rereadHostDetails.get(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES); - assertNotNull("Retrieved node policies are null", retrievedPolicies); - assertTrue("Retrieved node policies are not of expected type", retrievedPolicies instanceof List); - assertTrue("Retrieved node policies is not empty", ((List)retrievedPolicies).isEmpty()); - } - - -} http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/f81b404c/test-profiles/JavaTransientExcludes ---------------------------------------------------------------------- diff --git a/test-profiles/JavaTransientExcludes b/test-profiles/JavaTransientExcludes index 89f437b..d08df5c 100644 --- a/test-profiles/JavaTransientExcludes +++ b/test-profiles/JavaTransientExcludes @@ -26,8 +26,5 @@ org.apache.qpid.server.store.berkeleydb.replication.* org.apache.qpid.server.store.berkeleydb.upgrade.* org.apache.qpid.server.virtualhostnode.berkeleydb.* -org.apache.qpid.systest.rest.VirtualHostRestTest#testRecoverVirtualHostInDesiredStateStoppedWithDescription -org.apache.qpid.systest.rest.VirtualHostRestTest#testMutateStateOfVirtualHostWithQueuesAndMessages - org.apache.qpid.systest.rest.VirtualHostNodeRestTest#testCreateAndDeleteVirtualHostNode --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org