This is an automated email from the ASF dual-hosted git repository.
vavrtom pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
The following commit(s) were added to refs/heads/main by this push:
new 972e56c49a QPID-8615: [Broker-J] JUnit 5 migration (#222)
972e56c49a is described below
commit 972e56c49a6db8fa3f8c969ac818f31bfdec366e
Author: Daniil Kirilyuk <[email protected]>
AuthorDate: Thu Aug 24 08:00:10 2023 +0200
QPID-8615: [Broker-J] JUnit 5 migration (#222)
Adds workaround for hanging SimpleConversionTest running behind the proxy
---
systests/end-to-end-conversion-tests/pom.xml | 4 +--
.../dependency_resolution/Booter.java | 41 ++++++++++++++++++----
.../SimpleConversionTest.java | 6 ++++
3 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/systests/end-to-end-conversion-tests/pom.xml
b/systests/end-to-end-conversion-tests/pom.xml
index e825756331..7d1a8a841b 100644
--- a/systests/end-to-end-conversion-tests/pom.xml
+++ b/systests/end-to-end-conversion-tests/pom.xml
@@ -197,9 +197,7 @@
<goal>test</goal>
</goals>
<configuration>
- <excludes>
- <exclude>**</exclude>
- </excludes>
+ <skipTests>true</skipTests>
</configuration>
</execution>
</executions>
diff --git
a/systests/end-to-end-conversion-tests/src/main/java/org/apache/qpid/systests/end_to_end_conversion/dependency_resolution/Booter.java
b/systests/end-to-end-conversion-tests/src/main/java/org/apache/qpid/systests/end_to_end_conversion/dependency_resolution/Booter.java
index a15b00b26a..9a527735c7 100644
---
a/systests/end-to-end-conversion-tests/src/main/java/org/apache/qpid/systests/end_to_end_conversion/dependency_resolution/Booter.java
+++
b/systests/end-to-end-conversion-tests/src/main/java/org/apache/qpid/systests/end_to_end_conversion/dependency_resolution/Booter.java
@@ -25,25 +25,24 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.repository.Proxy;
import org.eclipse.aether.repository.LocalRepository;
import org.eclipse.aether.repository.RemoteRepository;
public class Booter
{
- private static final String FALLBACK_LOCAL_REPO_URL =
Stream.of(System.getProperty("user.home"),
- ".m2",
"repository")
-
.collect(Collectors.joining(File.pathSeparator));
+ private static final String FALLBACK_LOCAL_REPO_URL =
+ String.join(File.pathSeparator, System.getProperty("user.home"),
".m2", "repository");
private static final String REMOTE_REPO_URL = System.getProperty(
"qpid.systests.end_to_end_conversion.remoteRepository",
"https://repo.maven.apache.org/maven2/");
private static final String LOCAL_REPO =
System.getProperty("qpid.systests.end_to_end_conversion.localRepository",
FALLBACK_LOCAL_REPO_URL);
+ private static final String HTTPS_PROXY = "https_proxy";
public static RepositorySystem newRepositorySystem()
{
@@ -73,7 +72,37 @@ public class Booter
private static RemoteRepository newCentralRepository()
{
- return new RemoteRepository.Builder("central", "default",
REMOTE_REPO_URL).build();
+ final RemoteRepository.Builder builder = new
RemoteRepository.Builder("central", "default", REMOTE_REPO_URL);
+ // resolve HTTPS proxy either from environment variable or from system
property
+ final String environmentVariable = System.getenv(HTTPS_PROXY);
+ final String systemProperty = System.getProperty(HTTPS_PROXY);
+ Proxy proxy = null;
+ if (systemProperty != null)
+ {
+ proxy = getProxy(systemProperty);
+ }
+ else if (environmentVariable != null)
+ {
+ proxy = getProxy(environmentVariable);
+ }
+ if (proxy != null)
+ {
+ builder.setProxy(proxy);
+ }
+ return builder.build();
+ }
+
+ private static Proxy getProxy(final String proxy)
+ {
+ if (proxy == null)
+ {
+ return null;
+ }
+ final String httpsProxy = proxy.replace("http://",
"").replace("https://", "");
+ final String[] tokens = httpsProxy.split(":");
+ final String host = tokens[0];
+ final int port = Integer.parseInt(tokens[1]);
+ return new Proxy(Proxy.TYPE_HTTPS, host, port);
}
private static RemoteRepository newLocalRepository()
diff --git
a/systests/end-to-end-conversion-tests/src/test/java/org/apache/qpid/systests/end_to_end_conversion/SimpleConversionTest.java
b/systests/end-to-end-conversion-tests/src/test/java/org/apache/qpid/systests/end_to_end_conversion/SimpleConversionTest.java
index 605367b348..5bedc86737 100644
---
a/systests/end-to-end-conversion-tests/src/test/java/org/apache/qpid/systests/end_to_end_conversion/SimpleConversionTest.java
+++
b/systests/end-to-end-conversion-tests/src/test/java/org/apache/qpid/systests/end_to_end_conversion/SimpleConversionTest.java
@@ -51,6 +51,12 @@ import
org.apache.qpid.systests.end_to_end_conversion.client.MessageDescription;
import
org.apache.qpid.systests.end_to_end_conversion.client.SerializableTestClass;
import
org.apache.qpid.systests.end_to_end_conversion.client.VerificationException;
+/**
+ * When running behind the proxy, test may hang due to maven resolver plugin
failing to establish connection with the
+ * central repository. To run the test behind the proxy either declare an
environment variable named "https_proxy" in
+ * form "export https_proxy=hostname:port" or supply a system property with
the same name in form
+ * -Dhttps_proxy=hostname:port
+ */
public class SimpleConversionTest extends EndToEndConversionTestBase
{
private static final long TEST_TIMEOUT = 30000L;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]