From 00b49f26fb521ac681bbd4ad432c4c1c9625a62c Mon Sep 17 00:00:00 2001 From: Jared Anderson Date: Tue, 26 Jul 2022 11:38:44 -0500 Subject: [PATCH] Use the new REST protocol option to not depend on servlet to run tests - Update arqillian dependency to 1.7.0.Alpha11 and add dependency on the new protocol-rest-jakarta artifact to not depend on servlet in an application server in order to run tests on the server. - Add a testProtocol option to the remote and managed liberty container functions to be able to specify either rest or servlet to run. - Run the tests a second time with the rest configuration instead of servlet. - Update Jakarta EE 9 README information for the new functions. - Update version number from 2.0.x to 2.1.0 --- .github/workflows/maven.yml | 2 +- liberty-managed/JakartaEE9_README.md | 23 ++- liberty-managed/pom.xml | 157 ++++++++++++++++-- .../managed/WLPManagedContainer.java | 27 +-- .../WLPManagedContainerConfiguration.java | 18 +- ...portFeatureSerializedExceptionLocator.java | 2 +- .../SupportFeatureTextExceptionLocator.java | 2 +- .../src/test/resources/arquillian.xml | 61 ++++++- .../restServer-with-management-ee10.xml | 21 +++ .../resources/restServer-with-management.xml | 21 +++ .../src/test/resources/restServer.xml | 21 +++ .../test/resources/server-with-management.xml | 2 +- liberty-remote/JakartaEE9_README.md | 24 ++- liberty-remote/pom.xml | 53 +++++- .../arquillian/remote/WLPRemoteContainer.java | 8 +- .../WLPRemoteContainerConfiguration.java | 17 +- .../src/test/resources/arquillian.xml | 11 ++ .../src/test/resources/restServer.xml | 34 ++++ liberty-support-feature/JakartaEE9_README.md | 12 +- liberty-support-feature/pom.xml | 2 +- .../resources/arquillian-liberty-support.mf | 4 +- pom.xml | 10 +- 22 files changed, 460 insertions(+), 72 deletions(-) create mode 100644 liberty-managed/src/test/resources/restServer-with-management-ee10.xml create mode 100644 liberty-managed/src/test/resources/restServer-with-management.xml create mode 100644 liberty-managed/src/test/resources/restServer.xml create mode 100644 liberty-remote/src/test/resources/restServer.xml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index eb72b45..ac95ad2 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-latest, windows-latest] java: [1.8, 11] runtime: [ol] - runtime_version: [22.0.0.6] + runtime_version: [22.0.0.9-beta] steps: - uses: actions/checkout@v2 diff --git a/liberty-managed/JakartaEE9_README.md b/liberty-managed/JakartaEE9_README.md index c17ec43..81db5e3 100644 --- a/liberty-managed/JakartaEE9_README.md +++ b/liberty-managed/JakartaEE9_README.md @@ -19,11 +19,22 @@ The following features are required in the `server.xml` of the Liberty server. pages-3.0 localConnector-1.0 - usr:arquillian-support-jakarta-2.0 + usr:arquillian-support-jakarta-2.1 ``` -Read more about configuring the `arquillian-support-jakarta-2.0` feature [here](../liberty-support-feature/JakartaEE9_README.md). +or + +``` + + + restfulWS-3.0 + localConnector-1.0 + usr:arquillian-support-jakarta-2.1 + +``` + +Read more about configuring the `arquillian-support-jakarta-2.1` feature [here](../liberty-support-feature/JakartaEE9_README.md). You will also need to enable the `applicationMonitor` MBean support in your `server.xml`: @@ -35,16 +46,17 @@ If you need a sample server.xml, please refer to the [one in our source reposito ## Configuration -Default Protocol: Servlet 5.0 +Default Protocol: Servlet 5.0 or REST 3.0 depend on configuration To enable Arquillian Liberty Managed in your project, add the following to your `pom.xml`: + ```xml org.jboss.arquillian arquillian-bom - 1.7.0.Alpha9 + 1.7.0.Alpha12 import pom @@ -56,7 +68,7 @@ To enable Arquillian Liberty Managed in your project, add the following to your io.openliberty.arquillian arquillian-liberty-managed-jakarta - 2.0.0 + 2.1.0 test ... @@ -86,6 +98,7 @@ To enable Arquillian Liberty Managed in your project, add the following to your | outputToConsole | Boolean | true | When enabled output from the application server process will be emitted to stdout | | fileDeleteRetries | Integer | 30 | How many times to attempt deleting a file | | standardFileDeleteRetryInterval | Integer | 50 | How long in milliseconds to wait between attempting to delete a file | +| testProtocol | String | servlet | Aquillian protocol to contact the server to run a test (available: servlet or rest) | ## Examples diff --git a/liberty-managed/pom.xml b/liberty-managed/pom.xml index ea5639a..2c0e92f 100644 --- a/liberty-managed/pom.xml +++ b/liberty-managed/pom.xml @@ -5,7 +5,7 @@ io.openliberty.arquillian arquillian-parent-liberty-jakarta - 2.0.3-SNAPSHOT + 2.1.0-SNAPSHOT ../pom.xml @@ -40,6 +40,9 @@ [1.0,1.9) + + true + com.sun @@ -55,6 +58,9 @@ [11,) + + false + jakarta.annotation @@ -97,7 +103,7 @@ create - + create-server-management @@ -108,13 +114,55 @@ managementServer src/test/resources/server-with-management.xml - - + + create - - - + + + create-rest-server + + test + + restServer + src/test/resources/restServer.xml + + + create + + + + create-rest-server-management + + test + + managementRestServer + src/test/resources/restServer-with-management.xml + + + create + + + + create-rest-server-management-ee10 + + test + + managementRestServer-ee10 + src/test/resources/restServer-with-management-ee10.xml + + + create + + + + org.apache.maven.plugins maven-dependency-plugin @@ -159,17 +207,69 @@ - wlp-dropins-deployment-test + wlp-dropins-deployment-servlet-test + test + + test + + + ${skipTests} + ${project.build.directory}/surefire-reports/wlp-dropins-deployment-servlet-test + + + wlp-dropins-deployment-servlet + + + **/needsmanagementmbeans/** + **/needssupportfeature/** + + + + + wlp-xml-deployment-servlet-test + test + + test + + + ${skipTests} + ${project.build.directory}/surefire-reports/wlp-xml-deployment-servlet-test + + wlp-xml-deployment-servlet + + + **/needsmanagementmbeans/** + **/needssupportfeature/** + + + + + wlp-xml-management-deployment-servlet-test test test ${skipTests} - ${project.build.directory}/surefire-reports/wlp-dropins-deployment-test + ${project.build.directory}/surefire-reports/wlp-xml-management-deployment-servlet-test + + wlp-xml-management-deployment-servlet + + + + + + wlp-dropins-deployment-rest-test + test + + test + + + ${skipTests} + ${project.build.directory}/surefire-reports/wlp-dropins-deployment-rest-test - wlp-dropins-deployment + wlp-dropins-deployment-rest **/needsmanagementmbeans/** @@ -178,16 +278,16 @@ - wlp-xml-deployment-test + wlp-xml-deployment-rest-test test test ${skipTests} - ${project.build.directory}/surefire-reports/wlp-xml-deployment-test + ${project.build.directory}/surefire-reports/wlp-xml-deployment-rest-test - wlp-xml-deployment + wlp-xml-deployment-rest **/needsmanagementmbeans/** @@ -196,20 +296,39 @@ - wlp-xml-management-deployment-test + wlp-xml-management-deployment-rest-test test test ${skipTests} - ${project.build.directory}/surefire-reports/wlp-xml-management-deployment-test + ${project.build.directory}/surefire-reports/wlp-xml-management-deployment-rest-test - wlp-xml-management-deployment + wlp-xml-management-deployment-rest + + wlp-xml-management-deployment-rest-ee10-test + test + + test + + + ${skipTests} + ${skipEE10Tests} + ${project.build.directory}/surefire-reports/wlp-xml-management-deployment-rest-ee10-test + + wlp-xml-management-deployment-rest-ee10 + + + **/needssupportfeature/** + + + + @@ -227,6 +346,10 @@ org.jboss.arquillian.container arquillian-container-test-spi + + org.jboss.arquillian.protocol + arquillian-protocol-rest-jakarta + org.jboss.arquillian.protocol arquillian-protocol-servlet-jakarta @@ -284,8 +407,6 @@ 3.0.0 - - diff --git a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainer.java b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainer.java index c551b37..714b272 100644 --- a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainer.java +++ b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainer.java @@ -122,6 +122,7 @@ public class WLPManagedContainer implements DeployableContainer archive) throws DeploymentExcept // register servlets boolean addedSomeServlets = false; for (WebModule module : modules) { - List servlets = getServletNames(module); - for (String servlet : servlets) { - httpContext.add(new Servlet(servlet, module.contextRoot)); - addedSomeServlets = true; - } + List servlets = getServletNames(module); + for (String servlet : servlets) { + httpContext.add(new Servlet(servlet, module.contextRoot)); + addedSomeServlets = true; + } } - if (!addedSomeServlets) { + String servletToAdd = null; + if (!containerConfiguration.isServletTestProtocol()) { + servletToAdd = ARQUILLIAN_REST_NAME; + } else if (!addedSomeServlets) { + servletToAdd = ARQUILLIAN_SERVLET_NAME; + } + if (servletToAdd != null) { // Urk, we found no servlets at all probably because we don't have the J2EE management mbeans // Make a best guess at where servlets might be. Even if the servlet names are wrong, this at // least allows basic URL injection to work. if (modules.size() == 1) { // If there's only one web module, add that WebModule m = modules.get(0); - httpContext.add(new Servlet(ARQUILLIAN_SERVLET_NAME, m.contextRoot)); + httpContext.add(new Servlet(servletToAdd, m.contextRoot)); } else { - httpContext.add(new Servlet(ARQUILLIAN_SERVLET_NAME, deployName)); + httpContext.add(new Servlet(servletToAdd, deployName)); } } @@ -646,7 +653,7 @@ private List getServletNames(WebModule webModule) throws DeploymentExcep // If we didn't find any servlets and this is a testable archive it ought to // contain the arquillian test servlet, which is all that most tests need to // work - if (servletNames.isEmpty() && Testable.isArchiveToTest(webModule.archive)) { + if (containerConfiguration.isServletTestProtocol() && servletNames.isEmpty() && Testable.isArchiveToTest(webModule.archive)) { servletNames.add(ARQUILLIAN_SERVLET_NAME); } return servletNames; @@ -1366,7 +1373,7 @@ public ProtocolDescription getDefaultProtocol() { log.entering(className, "getDefaultProtocol"); } - String defaultProtocol = "Servlet 5.0"; + String defaultProtocol = containerConfiguration.isServletTestProtocol() ? "Servlet 5.0" : "REST 3.0"; if (log.isLoggable(Level.FINER)) { log.exiting(className, "getDefaultProtocol", defaultProtocol); diff --git a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainerConfiguration.java b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainerConfiguration.java index 5bef00f..990a641 100644 --- a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainerConfiguration.java +++ b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/WLPManagedContainerConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012, 2021, IBM Corporation, Red Hat Middleware LLC, and individual contributors + * Copyright 2012, 2022 IBM Corporation, Red Hat Middleware LLC, and individual contributors * identified by the Git commit log. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -45,6 +45,7 @@ public class WLPManagedContainerConfiguration implements private int verifyAppDeployTimeout = appDeployTimeout; private int fileDeleteRetries = 30; private int standardFileDeleteRetryInterval = 50; + private String testProtocol = "servlet"; @Override public void validate() throws ConfigurationException { @@ -111,6 +112,10 @@ public void validate() throws ConfigurationException { if (standardFileDeleteRetryInterval < 0) { throw new ConfigurationException("standardFileDeleteRetryInterval cannot be negative"); } + + if (!"rest".equalsIgnoreCase(testProtocol) && !"servlet".equalsIgnoreCase(testProtocol)) { + throw new ConfigurationException("testProtocol must be set to rest or servlet"); + } } public String getWlpHome() { @@ -296,4 +301,15 @@ public void setStandardFileDeleteRetryInterval(int standardFileDeleteRetryInterv this.standardFileDeleteRetryInterval = standardFileDeleteRetryInterval; } + public String getTestProtocol() { + return testProtocol; + } + + public void setTestProtocol(String protocol) { + this.testProtocol = protocol; + } + + public boolean isServletTestProtocol() { + return "servlet".equalsIgnoreCase(testProtocol); + } } diff --git a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureSerializedExceptionLocator.java b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureSerializedExceptionLocator.java index bee72cc..43407c9 100644 --- a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureSerializedExceptionLocator.java +++ b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureSerializedExceptionLocator.java @@ -62,7 +62,7 @@ public Throwable getException(String appName, String logLine, long deploymentTim if (status == 400) { log.warning("After " + appName + " failed to start, the server did not report an exception for that app"); } else if (status != 200) { - log.info("Unable to receive serialized exception from server, is usr:arquillian-support-jakarta-2.0 installed?"); + log.info("Unable to receive serialized exception from server, is usr:arquillian-support-jakarta-2.1 installed?"); } else { try (InputStream inStream = new ByteArrayInputStream((byte[]) response[1])) { ObjectInputStream objStream = new ObjectInputStream(inStream); diff --git a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureTextExceptionLocator.java b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureTextExceptionLocator.java index 4e62e7a..904651f 100644 --- a/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureTextExceptionLocator.java +++ b/liberty-managed/src/main/java/io/openliberty/arquillian/managed/exceptions/SupportFeatureTextExceptionLocator.java @@ -102,7 +102,7 @@ public Throwable getException(String appName, String logLine, long deploymentTim if (status == 400) { log.warning("After " + appName + " failed to start, the server did not report an exception for that app"); } else if (status != 200) { - log.info("Unable to receive text format exception from server, is usr:arquillian-support-jakarta-2.0 installed?"); + log.info("Unable to receive text format exception from server, is usr:arquillian-support-jakarta-2.1 installed?"); } else { log.finer("Reading exception returned from server"); try (BufferedReader reader = new BufferedReader(new StringReader((String) response[1]))) { diff --git a/liberty-managed/src/test/resources/arquillian.xml b/liberty-managed/src/test/resources/arquillian.xml index 395e277..ac0d04f 100644 --- a/liberty-managed/src/test/resources/arquillian.xml +++ b/liberty-managed/src/test/resources/arquillian.xml @@ -7,7 +7,7 @@ target/ - + ${project.build.directory}/liberty/wlp/ dropins @@ -17,7 +17,7 @@ 10 - + ${project.build.directory}/liberty/wlp/ 9080 @@ -32,7 +32,7 @@ 10 - + ${project.build.directory}/liberty/wlp/ xml @@ -44,4 +44,59 @@ + + + ${project.build.directory}/liberty/wlp/ + dropins + restServer + rest + + + 60 + 10 + + + + + ${project.build.directory}/liberty/wlp/ + 9080 + xml + restServer + rest + -Xmx512m + + spec, ibm-api, api + + + 60 + 10 + + + + + ${project.build.directory}/liberty/wlp/ + xml + managementRestServer + rest + + + 60 + 10 + + + + + + ${project.build.directory}/liberty/wlp/ + xml + managementRestServer-ee10 + rest + + + 60 + 10 + + + diff --git a/liberty-managed/src/test/resources/restServer-with-management-ee10.xml b/liberty-managed/src/test/resources/restServer-with-management-ee10.xml new file mode 100644 index 0000000..80681cb --- /dev/null +++ b/liberty-managed/src/test/resources/restServer-with-management-ee10.xml @@ -0,0 +1,21 @@ + + + + + + restfulWS-3.1 + localConnector-1.0 + cdi-4.0 + jndi-1.0 + usr:arquillian-support-jakarta-2.1 + + + + + + + + + diff --git a/liberty-managed/src/test/resources/restServer-with-management.xml b/liberty-managed/src/test/resources/restServer-with-management.xml new file mode 100644 index 0000000..cae9039 --- /dev/null +++ b/liberty-managed/src/test/resources/restServer-with-management.xml @@ -0,0 +1,21 @@ + + + + + + restfulWS-3.0 + localConnector-1.0 + cdi-3.0 + jndi-1.0 + usr:arquillian-support-jakarta-2.1 + + + + + + + + + diff --git a/liberty-managed/src/test/resources/restServer.xml b/liberty-managed/src/test/resources/restServer.xml new file mode 100644 index 0000000..502009e --- /dev/null +++ b/liberty-managed/src/test/resources/restServer.xml @@ -0,0 +1,21 @@ + + + + + + restfulWS-3.0 + localConnector-1.0 + cdi-3.0 + jndi-1.0 + + + + + + + + + + diff --git a/liberty-managed/src/test/resources/server-with-management.xml b/liberty-managed/src/test/resources/server-with-management.xml index ba2990c..1d04cb8 100644 --- a/liberty-managed/src/test/resources/server-with-management.xml +++ b/liberty-managed/src/test/resources/server-with-management.xml @@ -7,7 +7,7 @@ localConnector-1.0 cdi-3.0 jndi-1.0 - usr:arquillian-support-jakarta-2.0 + usr:arquillian-support-jakarta-2.1 + + restfulWS-3.0 + restConnector-2.0 + +``` + You will also need to enable security, one example would be: ``` @@ -32,28 +42,29 @@ You will also need to enable security, one example would be: You need to have those keys trusted by your client as well, otherwise you'll see SSL certificate trust errors, and you need to give permissions for the container adapter to write to the dropins directory: -```` +``` ${server.config.dir}/dropins -```` +``` If you need a sample `server.xml`, please refer to the [one in our source repository](https://github.com/OpenLiberty/liberty-arquillian/blob/main/liberty-remote/src/test/resources/server.xml). ## Configuration -Default Protocol: Servlet 5.0 +Default Protocol: Servlet 5.0 or REST 3.0 depending on configuration To enable Arquillian Liberty Remote in your project, add the following to your `pom.xml`: + ```xml org.jboss.arquillian arquillian-bom - 1.7.0.Alpha9 + 1.7.0.Alpha12 import pom @@ -65,7 +76,7 @@ To enable Arquillian Liberty Remote in your project, add the following to your ` io.openliberty.arquillian arquillian-liberty-remote-jakarta - 2.0.0 + 2.1.0 test ... @@ -86,6 +97,7 @@ To enable Arquillian Liberty Remote in your project, add the following to your ` | appDeployTimeout | Integer | 20 | Time in seconds to wait for the application deployment to complete and the application to start | | appUndeployTimeout | Integer | 2 | Time in seconds to wait for the application undeployment to complete | | outputToConsole | Boolean | true | When enabled output from the application server process will be emitted to stdout | +| testProtocol | String | servlet | Aquillian protocol to contact the server to run a test (available: servlet or rest) | ## Examples @@ -122,7 +134,7 @@ xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/a io.openliberty.arquillian arquillian-liberty-remote-jakarta - 2.0.0 + 2.1.0 diff --git a/liberty-remote/pom.xml b/liberty-remote/pom.xml index 833b08a..a2d6d8e 100644 --- a/liberty-remote/pom.xml +++ b/liberty-remote/pom.xml @@ -3,7 +3,7 @@ io.openliberty.arquillian arquillian-parent-liberty-jakarta - 2.0.3-SNAPSHOT + 2.1.0-SNAPSHOT ../pom.xml arquillian-liberty-remote-jakarta @@ -62,24 +62,36 @@ java.util.logging.config.file ${loggingPropertiesFile} - - javax.net.ssl.trustStore - ${project.build.directory}/liberty/wlp/usr/servers/defaultServer/resources/security/key.jks - - wlp-8554-test + wlp-remote-deployment-servlet-test test ${skipTests} - ${project.build.directory}/surefire-reports/wlp-remote-deployment-test + ${project.build.directory}/surefire-reports/wlp-remote-deployment-servlet-test wlp-remote + ${project.build.directory}/liberty/wlp/usr/servers/defaultServer/resources/security/key.jks + + + + + wlp-remote-deployment-rest-test + + test + + + ${skipTests} + ${project.build.directory}/surefire-reports/wlp-remote-deployment-rest-test + + + wlp-rest-remote + ${project.build.directory}/liberty/wlp/usr/servers/restServer/resources/security/key.jks @@ -110,6 +122,29 @@ stop + + start-rest-server + + process-test-classes + + restServer + src/test/resources/restServer.xml + + + start + + + + stop-rest-server + test + + restServer + + + stop + + ${skipTests} @@ -150,6 +185,10 @@ org.jboss.arquillian.container arquillian-container-test-spi + + org.jboss.arquillian.protocol + arquillian-protocol-rest-jakarta + org.jboss.arquillian.protocol arquillian-protocol-servlet-jakarta diff --git a/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainer.java b/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainer.java index 2733415..8f041a2 100644 --- a/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainer.java +++ b/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainer.java @@ -1,5 +1,5 @@ /* - * Copyright 2014 Red Hat Inc. and/or its affiliates and other contributors + * Copyright 2014, 2022 Red Hat Inc. and/or its affiliates and other contributors * identified by the Git commit log. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -106,7 +106,7 @@ public ProtocolDescription getDefaultProtocol() { log.entering(className, "getDefaultProtocol"); } - String defaultProtocol = "Servlet 5.0"; + String defaultProtocol = containerConfiguration.isServletTestProtocol() ? "Servlet 5.0" : "REST 3.0"; if (log.isLoggable(Level.FINER)) { log.exiting(className, "getDefaultProtocol", defaultProtocol); @@ -147,7 +147,9 @@ public ProtocolMetaData deploy(Archive archive) throws DeploymentException { // Return metadata on how to contact the deployed application ProtocolMetaData metaData = new ProtocolMetaData(); HTTPContext httpContext = new HTTPContext(containerConfiguration.getHostName(), containerConfiguration.getHttpPort()); - httpContext.add(new Servlet("ArquillianServletRunnerEE9", deployName)); + String servletName = containerConfiguration.isServletTestProtocol() ? + "ArquillianServletRunnerEE9" : "ArquillianRESTRunnerEE9"; + httpContext.add(new Servlet(servletName, deployName)); metaData.addContext(httpContext); if (log.isLoggable(Level.FINER)) { diff --git a/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainerConfiguration.java b/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainerConfiguration.java index 25573fd..f94f019 100644 --- a/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainerConfiguration.java +++ b/liberty-remote/src/main/java/io/openliberty/arquillian/remote/WLPRemoteContainerConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012, 2014, Red Hat Middleware LLC, and other contributors + * Copyright 2012, 2022 Red Hat Middleware LLC, and other contributors * identified by the Git commit log. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -43,6 +43,7 @@ public class WLPRemoteContainerConfiguration implements ContainerConfiguration { private int httpPort = 9080; private int httpsPort = 9443; private boolean outputToConsole = true; + private String testProtocol = "servlet"; @Override public void validate() throws ConfigurationException { @@ -66,6 +67,9 @@ public void validate() throws ConfigurationException { if (httpsPort > 65535 || httpsPort < 0) throw new ConfigurationException("httpsPort provided is not valid: " + httpPort); + if (!"rest".equalsIgnoreCase(testProtocol) && !"servlet".equalsIgnoreCase(testProtocol)) { + throw new ConfigurationException("testProtocol must be set to rest or servlet"); + } } public String getServerName() { @@ -148,4 +152,15 @@ public void setHttpsPort(int httpsPort) { this.httpsPort = httpsPort; } + public String getTestProtocol() { + return testProtocol; + } + + public void setTestProtocol(String protocol) { + this.testProtocol = protocol; + } + + public boolean isServletTestProtocol() { + return "servlet".equalsIgnoreCase(testProtocol); + } } diff --git a/liberty-remote/src/test/resources/arquillian.xml b/liberty-remote/src/test/resources/arquillian.xml index e30174d..14f67fe 100644 --- a/liberty-remote/src/test/resources/arquillian.xml +++ b/liberty-remote/src/test/resources/arquillian.xml @@ -18,4 +18,15 @@ 9443 + + + localhost + restServer + admin + admin + 9081 + 9444 + rest + + diff --git a/liberty-remote/src/test/resources/restServer.xml b/liberty-remote/src/test/resources/restServer.xml new file mode 100644 index 0000000..ea6b070 --- /dev/null +++ b/liberty-remote/src/test/resources/restServer.xml @@ -0,0 +1,34 @@ + + + + + + + restfulWS-3.0 + localConnector-1.0 + cdi-3.0 + restConnector-2.0 + + + + + + + + + + + + + + + + + ${server.config.dir}/dropins + + + diff --git a/liberty-support-feature/JakartaEE9_README.md b/liberty-support-feature/JakartaEE9_README.md index c532537..02fafdb 100644 --- a/liberty-support-feature/JakartaEE9_README.md +++ b/liberty-support-feature/JakartaEE9_README.md @@ -19,7 +19,7 @@ Example: io.openliberty.arquillian arquillian-liberty-support-jakarta - 2.0.0 + 2.1.0 @@ -40,7 +40,7 @@ Example: io.openliberty.arquillian arquillian-liberty-support-jakarta - 2.0.0 + 2.1.0 zip feature false @@ -50,12 +50,12 @@ Example: ``` -Then add `usr:arquillian-support-jakarta-2.0` to the `` section of your `server.xml`. +Then add `usr:arquillian-support-jakarta-2.1` to the `` section of your `server.xml`. ``` pages-3.0 localConnector-1.0 - usr:arquillian-support-jakarta-2.0 + usr:arquillian-support-jakarta-2.1 ``` @@ -67,12 +67,12 @@ git clone git@github.com:OpenLiberty/liberty-arquillian.git mvn install ``` 2. Extract the arquillian-liberty-support-jakarta-x.x.x-feature.zip into the `usr` directory of your Liberty runtime -3. Add `usr:arquillian-support-jakarta-2.0` to the `` section of your `server.xml` +3. Add `usr:arquillian-support-jakarta-2.1` to the `` section of your `server.xml` ``` pages-3.0 localConnector-1.0 - usr:arquillian-support-jakarta-2.0 + usr:arquillian-support-jakarta-2.1 ``` \ No newline at end of file diff --git a/liberty-support-feature/pom.xml b/liberty-support-feature/pom.xml index 9fd3ee5..1f26d23 100644 --- a/liberty-support-feature/pom.xml +++ b/liberty-support-feature/pom.xml @@ -5,7 +5,7 @@ io.openliberty.arquillian arquillian-parent-liberty-jakarta - 2.0.3-SNAPSHOT + 2.1.0-SNAPSHOT ../pom.xml diff --git a/liberty-support-feature/src/feature/resources/arquillian-liberty-support.mf b/liberty-support-feature/src/feature/resources/arquillian-liberty-support.mf index 42c727b..a7a18cb 100644 --- a/liberty-support-feature/src/feature/resources/arquillian-liberty-support.mf +++ b/liberty-support-feature/src/feature/resources/arquillian-liberty-support.mf @@ -1,10 +1,10 @@ IBM-Feature-Version: 2 -IBM-ShortName: arquillian-support-jakarta-2.0 +IBM-ShortName: arquillian-support-jakarta-2.1 Subsystem-Content: arquillian-liberty-support-jakarta; version=${parsedVersion.osgiVersion}, com.ibm.websphere.appserver.localConnector-1.0; type="osgi.subsystem.feature" Subsystem-Description: Jakarta Liberty Feature to support integration for the Arquillian Project Subsystem-ManifestVersion: 1 Subsystem-Name: Arquillian Support Jakarta Feature -Subsystem-SymbolicName: io.openliberty.arquillian.arquillian-support-jakarta-2.0; visibility:=public +Subsystem-SymbolicName: io.openliberty.arquillian.arquillian-support-jakarta-2.1; visibility:=public Subsystem-Type: osgi.subsystem.feature Subsystem-Version: ${parsedVersion.osgiVersion} diff --git a/pom.xml b/pom.xml index 825286c..5a36e46 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ io.openliberty.arquillian arquillian-parent-liberty-jakarta - 2.0.3-SNAPSHOT + 2.1.0-SNAPSHOT pom Arquillian Container Liberty Jakarta Parent Jakarta Liberty Container integrations for the Arquillian Project @@ -38,7 +38,7 @@ - 1.7.0.Alpha10 + 1.7.0.Alpha12 2.22.2 @@ -102,7 +102,7 @@ ol - io.openliberty + io.openliberty.beta openliberty-runtime ${runtimeVersion} @@ -118,9 +118,9 @@ ol - io.openliberty + io.openliberty.beta openliberty-runtime - 22.0.0.6 + 22.0.0.9-beta