You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2019/08/21 16:35:49 UTC
[qpid-broker-j] 07/21: QPID-8349: [Tests][AMQP 1.0] Use annotation
ConfigItem for setting Qpid Broker-J JVM system properties
This is an automated email from the ASF dual-hosted git repository.
orudyy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
commit b724eb4730d6d95546129a4bc7d4e9edebec937f
Author: Alex Rudyy <or...@apache.org>
AuthorDate: Tue Aug 20 17:19:39 2019 +0100
QPID-8349: [Tests][AMQP 1.0] Use annotation ConfigItem for setting Qpid Broker-J JVM system properties
---
.../v1_0/extensions/filter/FilterTest.java | 20 ++----------------
.../protocol/v1_0/messaging/MultiTransferTest.java | 22 ++------------------
.../protocol/v1_0/messaging/TransferTest.java | 20 ++----------------
.../v1_0/transport/link/ResumeDeliveriesTest.java | 24 ++++------------------
.../qpid/systests/admin/SpawnBrokerAdmin.java | 9 +++++++-
.../org/apache/qpid/tests/utils/ConfigItem.java | 1 +
.../utils/EmbeddedBrokerPerClassAdminImpl.java | 23 ++++++++++++++++++---
7 files changed, 39 insertions(+), 80 deletions(-)
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
index 680c7b6..c359e40 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
@@ -37,7 +37,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -63,36 +62,21 @@ import org.apache.qpid.tests.protocol.v1_0.extensions.type.TestFilter;
import org.apache.qpid.tests.utils.BrokerAdmin;
import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
import org.apache.qpid.tests.utils.BrokerSpecific;
+import org.apache.qpid.tests.utils.ConfigItem;
+@ConfigItem(name = "qpid.tests.mms.messagestore.persistence", value = "false", jvm = true)
public class FilterTest extends BrokerAdminUsingTestBase
{
public static final String TEST_MESSAGE_CONTENT = "testContent";
private InetSocketAddress _brokerAddress;
- private String _originalMmsMessageStorePersistence;
@Before
public void setUp()
{
- _originalMmsMessageStorePersistence = System.getProperty("qpid.tests.mms.messagestore.persistence");
- System.setProperty("qpid.tests.mms.messagestore.persistence", "false");
-
getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
_brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
}
- @After
- public void tearDown()
- {
- if (_originalMmsMessageStorePersistence != null)
- {
- System.setProperty("qpid.tests.mms.messagestore.persistence", _originalMmsMessageStorePersistence);
- }
- else
- {
- System.clearProperty("qpid.tests.mms.messagestore.persistence");
- }
- }
-
@Test
@BrokerSpecific(kind = KIND_BROKER_J)
@SpecificationTest(section = "3.5.1", description = "A source can restrict the messages transferred from a source by specifying a filter.")
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
index 3b421c7..a5f7e7c 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
@@ -22,7 +22,6 @@ package org.apache.qpid.tests.protocol.v1_0.messaging;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
@@ -32,7 +31,6 @@ import java.net.InetSocketAddress;
import java.util.HashMap;
import java.util.Map;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -54,38 +52,22 @@ import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
import org.apache.qpid.tests.protocol.v1_0.Interaction;
import org.apache.qpid.tests.protocol.SpecificationTest;
import org.apache.qpid.tests.protocol.v1_0.Utils;
-import org.apache.qpid.tests.protocol.Response;
import org.apache.qpid.tests.utils.BrokerAdmin;
import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
+import org.apache.qpid.tests.utils.ConfigItem;
+@ConfigItem(name = "qpid.tests.mms.messagestore.persistence", value = "false", jvm = true)
public class MultiTransferTest extends BrokerAdminUsingTestBase
{
private InetSocketAddress _brokerAddress;
- private String _originalMmsMessageStorePersistence;
@Before
public void setUp()
{
- _originalMmsMessageStorePersistence = System.getProperty("qpid.tests.mms.messagestore.persistence");
- System.setProperty("qpid.tests.mms.messagestore.persistence", "false");
-
getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
_brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
}
- @After
- public void tearDown()
- {
- if (_originalMmsMessageStorePersistence != null)
- {
- System.setProperty("qpid.tests.mms.messagestore.persistence", _originalMmsMessageStorePersistence);
- }
- else
- {
- System.clearProperty("qpid.tests.mms.messagestore.persistence");
- }
- }
-
@Test
@SpecificationTest(section = "2.6.14",
description = "For messages that are too large to fit within the maximum frame size, additional data MAY"
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java
index dab344e..4ef0f28 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java
@@ -48,7 +48,6 @@ import java.util.stream.LongStream;
import java.util.stream.Stream;
import com.google.common.collect.Sets;
-import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -89,36 +88,21 @@ import org.apache.qpid.tests.protocol.v1_0.Utils;
import org.apache.qpid.tests.utils.BrokerAdmin;
import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
import org.apache.qpid.tests.utils.BrokerSpecific;
+import org.apache.qpid.tests.utils.ConfigItem;
+@ConfigItem(name = "qpid.tests.mms.messagestore.persistence", value = "false", jvm = true)
public class TransferTest extends BrokerAdminUsingTestBase
{
private static final long MAX_MAX_MESSAGE_SIZE_WE_ARE_WILLING_TO_TEST = 200 * 1024 * 1024L;
private InetSocketAddress _brokerAddress;
- private String _originalMmsMessageStorePersistence;
@Before
public void setUp()
{
- _originalMmsMessageStorePersistence = System.getProperty("qpid.tests.mms.messagestore.persistence");
- System.setProperty("qpid.tests.mms.messagestore.persistence", "false");
-
getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
_brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
}
- @After
- public void tearDown()
- {
- if (_originalMmsMessageStorePersistence != null)
- {
- System.setProperty("qpid.tests.mms.messagestore.persistence", _originalMmsMessageStorePersistence);
- }
- else
- {
- System.clearProperty("qpid.tests.mms.messagestore.persistence");
- }
- }
-
@Test
@SpecificationTest(section = "1.3.4",
description = "mandatory [...] a non null value for the field is always encoded.")
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java
index 61884e3..b38d30e 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java
@@ -44,7 +44,6 @@ import java.util.List;
import java.util.Map;
import org.hamcrest.Matchers;
-import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -67,43 +66,28 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.ReceiverSettleMode;
import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
import org.apache.qpid.server.protocol.v1_0.type.transport.SenderSettleMode;
import org.apache.qpid.server.protocol.v1_0.type.transport.Transfer;
+import org.apache.qpid.tests.protocol.Response;
+import org.apache.qpid.tests.protocol.SpecificationTest;
import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.protocol.SpecificationTest;
import org.apache.qpid.tests.protocol.v1_0.Utils;
-import org.apache.qpid.tests.protocol.Response;
import org.apache.qpid.tests.utils.BrokerAdmin;
import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
+import org.apache.qpid.tests.utils.ConfigItem;
+@ConfigItem(name = "qpid.tests.mms.messagestore.persistence", value = "false", jvm = true)
public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
{
private static final int MIN_MAX_FRAME_SIZE = 512;
private InetSocketAddress _brokerAddress;
- private String _originalMmsMessageStorePersistence;
@Before
public void setUp()
{
- _originalMmsMessageStorePersistence = System.getProperty("qpid.tests.mms.messagestore.persistence");
- System.setProperty("qpid.tests.mms.messagestore.persistence", "false");
-
getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
_brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
}
- @After
- public void tearDown()
- {
- if (_originalMmsMessageStorePersistence != null)
- {
- System.setProperty("qpid.tests.mms.messagestore.persistence", _originalMmsMessageStorePersistence);
- }
- else
- {
- System.clearProperty("qpid.tests.mms.messagestore.persistence");
- }
- }
-
@Ignore("QPID-7845")
@Test
@SpecificationTest(section = "2.6.13",
diff --git a/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java b/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
index 9f8ed5e..0ce90ac 100644
--- a/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
+++ b/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
@@ -742,6 +742,8 @@ public class SpawnBrokerAdmin implements BrokerAdmin, Closeable
classpath = new String(Files.readAllBytes(file.toPath()), UTF_8);
}
+ final ConfigItem[] configItems = (ConfigItem[]) testClass.getAnnotationsByType(ConfigItem.class);
+
List<String> jvmArguments = new ArrayList<>();
jvmArguments.add("java");
jvmArguments.add("-cp");
@@ -749,6 +751,10 @@ public class SpawnBrokerAdmin implements BrokerAdmin, Closeable
jvmArguments.add("-Djava.io.tmpdir=" + escape(System.getProperty("java.io.tmpdir")));
jvmArguments.add("-Dlogback.configurationFile=default-broker-logback.xml");
jvmArguments.add("-Dqpid.tests.mms.messagestore.persistence=true");
+ jvmArguments.addAll(Arrays.stream(configItems)
+ .filter(ConfigItem::jvm)
+ .map(ci -> String.format("-D%s=%s", ci.name(), ci.value()))
+ .collect(Collectors.toList()));
jvmArguments.add("org.apache.qpid.server.Main");
jvmArguments.add("--store-type");
jvmArguments.add("JSON");
@@ -766,7 +772,8 @@ public class SpawnBrokerAdmin implements BrokerAdmin, Closeable
.filter(n -> n.startsWith("qpid."))
.forEach(n -> context.put(n, System.getProperty(n)));
- context.putAll(Arrays.stream((ConfigItem[]) testClass.getAnnotationsByType(ConfigItem.class))
+ context.putAll(Arrays.stream(configItems)
+ .filter(i -> !i.jvm())
.collect(Collectors.toMap(ConfigItem::name,
ConfigItem::value,
(name, value) -> value)));
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ConfigItem.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ConfigItem.java
index 493f865..a57e747 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ConfigItem.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ConfigItem.java
@@ -33,4 +33,5 @@ public @interface ConfigItem
{
String name();
String value();
+ boolean jvm() default false;
}
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
index f51c970..59cf731 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
@@ -77,26 +77,32 @@ public class EmbeddedBrokerPerClassAdminImpl implements BrokerAdmin
private VirtualHostNode<?> _currentVirtualHostNode;
private String _currentWorkDirectory;
private boolean _isPersistentStore;
- private Map<String, String> _preservedContext;
+ private Map<String, String> _preservedProperties;
@Override
public void beforeTestClass(final Class testClass)
{
+ _preservedProperties = new HashMap<>();
try
{
String timestamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date(System.currentTimeMillis()));
_currentWorkDirectory = Files.createTempDirectory(String.format("qpid-work-%s-%s-", timestamp, testClass.getSimpleName())).toString();
+ ConfigItem[] configItems = (ConfigItem[]) testClass.getAnnotationsByType(ConfigItem.class);
+ Arrays.stream(configItems).filter(ConfigItem::jvm).forEach(i -> {
+ _preservedProperties.put(i.name(), System.getProperty(i.name()));
+ System.setProperty(i.name(), i.value());
+ });
Map<String, String> context = new HashMap<>();
context.put("qpid.work_dir", _currentWorkDirectory);
context.put("qpid.port.protocol_handshake_timeout", "1000000");
- context.putAll(Arrays.stream((ConfigItem[]) testClass.getAnnotationsByType(ConfigItem.class))
+ context.putAll(Arrays.stream(configItems)
+ .filter(i -> !i.jvm())
.collect(Collectors.toMap(ConfigItem::name,
ConfigItem::value,
(name, value) -> value)));
Map<String,Object> systemConfigAttributes = new HashMap<>();
- //systemConfigAttributes.put(SystemConfig.INITIAL_CONFIGURATION_LOCATION, "classpath:config-protocol-tests.json");
systemConfigAttributes.put(ConfiguredObject.CONTEXT, context);
systemConfigAttributes.put(ConfiguredObject.TYPE, System.getProperty("broker.config-store-type", "JSON"));
systemConfigAttributes.put(SystemConfig.STARTUP_LOGGED_TO_SYSTEM_OUT, Boolean.FALSE);
@@ -187,6 +193,17 @@ public class EmbeddedBrokerPerClassAdminImpl implements BrokerAdmin
{
FileUtils.delete(new File(_currentWorkDirectory), true);
}
+
+ _preservedProperties.forEach((k,v)-> {
+ if (v == null)
+ {
+ System.clearProperty(k);
+ }
+ else
+ {
+ System.setProperty(k, v);
+ }
+ });
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org