From 6e2875de3cab49c71ca05e79e73ece57e0dfb976 Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Fri, 22 Nov 2024 13:23:53 +0530 Subject: [PATCH 1/4] FISH-10014 Arquillian HTTPS Support --- payara-client-ee11/pom.xml | 8 +++--- .../payara/CommonPayaraConfiguration.java | 26 +++++++++++++++---- .../RemoteInstanceConnectionProvider.java | 1 + .../payara/clientutils/NodeAddress.java | 2 +- .../clientutils/PayaraClientService.java | 16 +++++------- .../PayaraRemoteContainerConfiguration.java | 22 +++++++++++++--- pom.xml | 10 +++---- 7 files changed, 56 insertions(+), 29 deletions(-) diff --git a/payara-client-ee11/pom.xml b/payara-client-ee11/pom.xml index 23c6fdf5..54d5ba19 100644 --- a/payara-client-ee11/pom.xml +++ b/payara-client-ee11/pom.xml @@ -80,7 +80,7 @@ - 3.0.4 + 4.0.0-M1 Payara-CI @@ -109,12 +109,12 @@ org.glassfish.tyrus tyrus-client - 2.2.0-M1 + 2.2.0 org.glassfish.tyrus tyrus-container-grizzly-client - 2.2.0-M1 + 2.2.0 @@ -194,7 +194,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.1.0 + 3.2.7 ${gpg.keyname} ${gpg.keyname} diff --git a/payara-common/src/main/java/fish/payara/arquillian/container/payara/CommonPayaraConfiguration.java b/payara-common/src/main/java/fish/payara/arquillian/container/payara/CommonPayaraConfiguration.java index ec8b66b9..4c7e40c6 100644 --- a/payara-common/src/main/java/fish/payara/arquillian/container/payara/CommonPayaraConfiguration.java +++ b/payara-common/src/main/java/fish/payara/arquillian/container/payara/CommonPayaraConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2017-2024 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -72,7 +72,9 @@ public class CommonPayaraConfiguration implements ContainerConfiguration { protected String adminHost = System.getProperty("adminHost", "localhost"); protected int adminPort = Integer.parseInt(System.getProperty("adminPort", "4848")); + @Deprecated protected boolean adminHttps; + protected boolean adminHttpsEnabled = Boolean.getBoolean("adminHttpsEnabled"); private boolean authorisation; private boolean ignoreCertificates; private String adminUser; @@ -83,6 +85,7 @@ public class CommonPayaraConfiguration implements ContainerConfiguration { private String type; private String domain; protected boolean debug; + private boolean httpsEnabled = Boolean.getBoolean("httpsEnabled"); public CommonPayaraConfiguration() { super(); @@ -112,8 +115,8 @@ public void setAdminPort(int adminPort) { this.adminPort = adminPort; } - public boolean isAdminHttps() { - return adminHttps; + public boolean isAdminHttpsEnabled() { + return adminHttps || adminHttpsEnabled; } /** @@ -121,8 +124,21 @@ public boolean isAdminHttps() { * Flag indicating the administration url uses a secure connection. Used to build the URL for the REST * request. */ - public void setAdminHttps(boolean adminHttps) { - this.adminHttps = adminHttps; + public void setAdminHttpsEnabled(boolean adminHttps) { + this.adminHttpsEnabled = adminHttps; + } + + public boolean isHttpsEnabled() { + return httpsEnabled; + } + + /** + * @param httpsEnabled + * Flag indicating the application url uses a secure connection. Used to build the URL for the REST + * request. + */ + public void setHttpsEnabled(boolean httpsEnabled) { + this.httpsEnabled = httpsEnabled; } public boolean isAuthorisation() { diff --git a/payara-common/src/main/java/fish/payara/arquillian/container/payara/RemoteInstanceConnectionProvider.java b/payara-common/src/main/java/fish/payara/arquillian/container/payara/RemoteInstanceConnectionProvider.java index ee865e6d..159d2177 100644 --- a/payara-common/src/main/java/fish/payara/arquillian/container/payara/RemoteInstanceConnectionProvider.java +++ b/payara-common/src/main/java/fish/payara/arquillian/container/payara/RemoteInstanceConnectionProvider.java @@ -67,5 +67,6 @@ public interface RemoteInstanceConnectionProvider { Optional getHttpHost(); Optional getHttpPort(); + Optional getHttpsPort(); } diff --git a/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/NodeAddress.java b/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/NodeAddress.java index 263684cd..e60933ab 100644 --- a/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/NodeAddress.java +++ b/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/NodeAddress.java @@ -180,4 +180,4 @@ public URI getURI(boolean secure) { public static String getHttpProtocolPrefix(boolean secure) { return secure ? HTTPS_PROTOCOL_PREFIX : HTTP_PROTOCOL_PREFIX; } -} +} \ No newline at end of file diff --git a/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/PayaraClientService.java b/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/PayaraClientService.java index 4d8a3c1f..fcf53da0 100644 --- a/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/PayaraClientService.java +++ b/payara-common/src/main/java/fish/payara/arquillian/container/payara/clientutils/PayaraClientService.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2017-2024 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -72,7 +72,6 @@ import fish.payara.arquillian.container.payara.CommonPayaraConfiguration; import jakarta.ws.rs.ProcessingException; import fish.payara.arquillian.container.payara.RemoteInstanceConnectionProvider; -import org.glassfish.jersey.media.multipart.FormDataMultiPart; import org.jboss.arquillian.container.spi.client.protocol.metadata.HTTPContext; import org.jboss.arquillian.container.spi.client.protocol.metadata.Servlet; @@ -171,7 +170,7 @@ public PayaraClientService(CommonPayaraConfiguration configuration) { target = configuration.getTarget(); final StringBuilder adminUrlBuilder = new StringBuilder() - .append(getHttpProtocolPrefix(configuration.isAdminHttps())) + .append(getHttpProtocolPrefix(configuration.isAdminHttpsEnabled())) .append(configuration.getAdminHost()) .append(":") .append(configuration.getAdminPort()); @@ -337,20 +336,17 @@ public HTTPContext doDeploy(String name, MultiPart form) { // Build up the HTTPContext object using the nodeAddress information String host = nodeAddress.getHost(); - int port = nodeAddress.getHttpPort(); + int port = configuration.isHttpsEnabled() ? nodeAddress.getHttpsPort() : nodeAddress.getHttpPort(); // If this configuration is for a remote instance, a user might want to override port and/or host - if (configuration instanceof RemoteInstanceConnectionProvider) { - RemoteInstanceConnectionProvider provider = (RemoteInstanceConnectionProvider) configuration; - + if (configuration instanceof RemoteInstanceConnectionProvider provider) { if (provider.getHttpHost().isPresent()) { host = provider.getHttpHost().get(); } if (provider.getHttpPort().isPresent()) { - port = provider.getHttpPort().get(); + port = configuration.isHttpsEnabled() ? provider.getHttpsPort().get() : provider.getHttpPort().get(); } } - HTTPContext httpContext = new HTTPContext(host, port); - + HTTPContext httpContext = new HTTPContext(host, port, configuration.isHttpsEnabled()); // Add the servlets to the HTTPContext String contextRoot = getApplicationContextRoot(name); diff --git a/payara-remote/src/main/java/fish/payara/arquillian/container/payara/remote/PayaraRemoteContainerConfiguration.java b/payara-remote/src/main/java/fish/payara/arquillian/container/payara/remote/PayaraRemoteContainerConfiguration.java index c69bf7a2..b7153ab3 100644 --- a/payara-remote/src/main/java/fish/payara/arquillian/container/payara/remote/PayaraRemoteContainerConfiguration.java +++ b/payara-remote/src/main/java/fish/payara/arquillian/container/payara/remote/PayaraRemoteContainerConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2017-2024 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -63,7 +63,6 @@ import java.util.Optional; import static fish.payara.arquillian.container.payara.clientutils.PayaraClient.ADMINSERVER; -import static org.jboss.arquillian.container.spi.client.deployment.Validate.notNullOrEmpty; /** * Configuration for Remote Payara containers. @@ -76,7 +75,9 @@ public class PayaraRemoteContainerConfiguration extends CommonPayaraConfiguratio private String httpHost; private Integer httpPort; + private Integer httpsPort; + @Override public Optional getHttpHost() { return Optional.ofNullable(httpHost); } @@ -87,11 +88,12 @@ public Optional getHttpHost() { public void setHttpHost(String httpHost) { this.httpHost = httpHost; } - + + @Override public Optional getHttpPort() { return Optional.ofNullable(httpPort); } - + /** * @param httpPort The port where the remote HTTP end can be reached */ @@ -99,6 +101,18 @@ public void setHttpPort(int httpPort) { this.httpPort = httpPort; } + @Override + public Optional getHttpsPort() { + return Optional.ofNullable(httpsPort); + } + + /** + * @param httpsPort The port where the remote HTTPS end can be reached + */ + public void setHttpsPort(int httpsPort) { + this.httpsPort = httpsPort; + } + @Override public String getTarget() { return ADMINSERVER; diff --git a/pom.xml b/pom.xml index 090059b1..44b653d8 100644 --- a/pom.xml +++ b/pom.xml @@ -75,14 +75,14 @@ https://github.com/payara/Payara - 1.8.1.Final + 1.9.1.Final 4.0.0-M1 11 11.0.0-M4 - 3.3.1 + 3.5.2 3.3.1 3.4.2 - 3.2.4 + 3.2.7 3.7.0 3.6.0 3.5.0 @@ -96,8 +96,8 @@ 22 deploy - 7.2024.1.Alpha1 - 6.2024.6 + 7.2024.1.Alpha2 + 7.2024.1.Alpha2 payara7 Payara-CI From aa7653732b82115aa4c42b61c88d5528e3c7a2bf Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Fri, 22 Nov 2024 13:54:37 +0530 Subject: [PATCH 2/4] FISH-10014 Upgrade log artifact upload action to v4 for enhanced failure tracking --- .github/workflows/verify_pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify_pr.yml b/.github/workflows/verify_pr.yml index 524e9371..71d34fe7 100644 --- a/.github/workflows/verify_pr.yml +++ b/.github/workflows/verify_pr.yml @@ -44,7 +44,7 @@ jobs: - name: Archive logs on failure if: failure() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: logs path: "**/*.log" From f799354ad6aa3cfb8346fbbb6c7bf8c982e44d12 Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Fri, 22 Nov 2024 20:26:38 +0530 Subject: [PATCH 3/4] FISH-10014 arquillian testenricher version added --- pom.xml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pom.xml b/pom.xml index 44b653d8..4f6e6d21 100644 --- a/pom.xml +++ b/pom.xml @@ -76,6 +76,7 @@ 1.9.1.Final + 10.0.0.Final 4.0.0-M1 11 11.0.0-M4 @@ -274,6 +275,30 @@ import + + org.jboss.arquillian.protocol + arquillian-protocol-servlet-jakarta + ${version.arquillian_testenricher} + + + + org.jboss.arquillian.testenricher + arquillian-testenricher-cdi-jakarta + ${version.arquillian_testenricher} + + + + org.jboss.arquillian.testenricher + arquillian-testenricher-ejb-jakarta + ${version.arquillian_testenricher} + + + + org.jboss.arquillian.testenricher + arquillian-testenricher-resource-jakarta + ${version.arquillian_testenricher} + + org.eclipse.microprofile.fault-tolerance microprofile-fault-tolerance-api From bce7f8ae4c65e30521980be13def16350c1dd56f Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Fri, 22 Nov 2024 20:27:27 +0530 Subject: [PATCH 4/4] FISH-10014 Release 4.0.alpha3-SNAPSHOT --- environment-setup/pom.xml | 2 +- integration-tests/pom.xml | 2 +- payara-client-ee11/pom.xml | 2 +- payara-common/pom.xml | 2 +- payara-embedded/pom.xml | 2 +- payara-managed/pom.xml | 2 +- payara-micro-deployer/pom.xml | 2 +- payara-micro-remote/pom.xml | 2 +- payara-micro/pom.xml | 2 +- payara-remote/pom.xml | 2 +- pom.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/environment-setup/pom.xml b/environment-setup/pom.xml index 764e4a77..9841ce2e 100644 --- a/environment-setup/pom.xml +++ b/environment-setup/pom.xml @@ -4,7 +4,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT environment-setup diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 33e6aab0..44679e1f 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -43,7 +43,7 @@ parent-payara-containers fish.payara.arquillian - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT 4.0.0 integration-tests diff --git a/payara-client-ee11/pom.xml b/payara-client-ee11/pom.xml index 54d5ba19..ddda44fb 100644 --- a/payara-client-ee11/pom.xml +++ b/payara-client-ee11/pom.xml @@ -44,7 +44,7 @@ fish.payara.arquillian payara-client-ee11 - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT Payara EE 11 client libs diff --git a/payara-common/pom.xml b/payara-common/pom.xml index 3d258959..76186be2 100644 --- a/payara-common/pom.xml +++ b/payara-common/pom.xml @@ -65,7 +65,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT payara-container-common diff --git a/payara-embedded/pom.xml b/payara-embedded/pom.xml index 76e9bc3d..bcf203a0 100644 --- a/payara-embedded/pom.xml +++ b/payara-embedded/pom.xml @@ -63,7 +63,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT arquillian-payara-server-embedded diff --git a/payara-managed/pom.xml b/payara-managed/pom.xml index ad86ecec..baf20189 100644 --- a/payara-managed/pom.xml +++ b/payara-managed/pom.xml @@ -64,7 +64,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT arquillian-payara-server-managed diff --git a/payara-micro-deployer/pom.xml b/payara-micro-deployer/pom.xml index 320121ef..dcce45e1 100644 --- a/payara-micro-deployer/pom.xml +++ b/payara-micro-deployer/pom.xml @@ -43,7 +43,7 @@ parent-payara-containers fish.payara.arquillian - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT 4.0.0 diff --git a/payara-micro-remote/pom.xml b/payara-micro-remote/pom.xml index 5488d24f..26d3764a 100644 --- a/payara-micro-remote/pom.xml +++ b/payara-micro-remote/pom.xml @@ -43,7 +43,7 @@ parent-payara-containers fish.payara.arquillian - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT 4.0.0 diff --git a/payara-micro/pom.xml b/payara-micro/pom.xml index da4fe013..5f4409cf 100644 --- a/payara-micro/pom.xml +++ b/payara-micro/pom.xml @@ -64,7 +64,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT arquillian-payara-micro-managed diff --git a/payara-remote/pom.xml b/payara-remote/pom.xml index 96f0d94c..dbf69f32 100644 --- a/payara-remote/pom.xml +++ b/payara-remote/pom.xml @@ -64,7 +64,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT arquillian-payara-server-remote diff --git a/pom.xml b/pom.xml index 4f6e6d21..08d0b794 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ fish.payara.arquillian parent-payara-containers - 4.0.alpha2-SNAPSHOT + 4.0.alpha3-SNAPSHOT pom Arquillian Container Parent Payara