Author: asoldano
Date: 2014-11-21 11:35:25 -0500 (Fri, 21 Nov 2014)
New Revision: 19110
Added:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy
Removed:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/DeploymentArchives.java
Modified:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/pom.xml
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/etc/arquillian.xml
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples22xTestCase.java
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/secconv/SecureConversationTestCase.java
Log:
Converted few more tests and added a new server configuration; still to figure out a
decent way for getting the host/port(offset) in testcases using manual mode containers...
Modified: stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/pom.xml
===================================================================
--- stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/pom.xml 2014-11-20 20:56:33
UTC (rev 19109)
+++ stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/pom.xml 2014-11-21 16:35:25
UTC (rev 19110)
@@ -90,6 +90,22 @@
</properties>
</configuration>
</execution>
+ <execution>
+ <id>testsuite-ssl-mutual-auth</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+
<source>${basedir}/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy</source>
+ <properties>
+
<inputFile>${jboss.home}/standalone/configuration/standalone.xml</inputFile>
+
<outputFile>${jboss.home}/standalone/configuration/jbws-testsuite-ssl-mutual-auth.xml</outputFile>
+
<keystorePath>${project.build.directory}/test-classes/test.keystore</keystorePath>
+
<truststorePath>${project.build.directory}/test-classes/test.truststore</truststorePath>
+ </properties>
+ </configuration>
+ </execution>
</executions>
</plugin>
<plugin> <!-- This copies jbossws-cxf-factories jar to endorsed dir
before the integration-tests are run -->
Modified:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/etc/arquillian.xml
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/etc/arquillian.xml 2014-11-20
20:56:33 UTC (rev 19109)
+++
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/etc/arquillian.xml 2014-11-21
16:35:25 UTC (rev 19110)
@@ -19,5 +19,22 @@
<property
name="waitForPortsTimeoutInSeconds">8</property>
</configuration>
</container>
+ <container qualifier="ssl-mutual-auth" mode="manual">
+ <configuration>
+ <property name="jbossHome">${jboss.home}</property>
+ <property
name="javaVmArguments">-Djboss.socket.binding.port-offset=10000</property>
+ <!-- <property name="javaVmArguments">${server.jvm.args}
-Djboss.inst=${basedir}/target/jbossas -Dtest.bind.address=${node0}</property>
-->
+ <property
name="serverConfig">jbws-testsuite-ssl-mutual-auth.xml</property>
+ <!-- -Djboss.inst is not necessarily needed, only in case the test case
neeeds path to the instance it runs in.
+ In the future, Arquillian should capable of injecting it into
@ArquillianResource File or such. -->
+ <property
name="allowConnectingToRunningServer">true</property>
+ <!-- <property
name="managementAddress">${node0:127.0.0.1}</property> -->
+ <property
name="managementPort">${as.managementPort:19990}</property>
+
+ <!-- AS7-4070 -->
+ <property name="waitForPorts">${as.debug.port:18787}
${as.managementPort:19990}</property>
+ <property
name="waitForPortsTimeoutInSeconds">8</property>
+ </configuration>
+ </container>
</group>
</arquillian>
Deleted:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/DeploymentArchives.java
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/DeploymentArchives.java 2014-11-20
20:56:33 UTC (rev 19109)
+++
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/DeploymentArchives.java 2014-11-21
16:35:25 UTC (rev 19110)
@@ -1,86 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2014, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.samples.wsse.policy.oasis;
-
-import java.io.File;
-
-import org.jboss.shrinkwrap.api.asset.StringAsset;
-import org.jboss.wsf.test.JBossWSTestHelper;
-
-public final class DeploymentArchives
-{
- public static final String CLIENT_JAR = JBossWSTestHelper.writeToFile(new
JBossWSTestHelper.JarDeployment("jaxws-samples-wsse-policy-oasis-client.jar") {
{
- archive
- .addManifest()
- .addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/META-INF/alice.jks"), "alice.jks")
- .addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/META-INF/alice.properties"),
"alice.properties");
- }
- });
-
- public static final String SERVER_22X_WAR = JBossWSTestHelper.writeToFile(new
JBossWSTestHelper.WarDeployment("jaxws-samples-wsse-policy-oasis-22x.war") { {
- archive
- .setManifest(new StringAsset("Manifest-Version: 1.0\n"
- + "Dependencies: org.jboss.ws.cxf.jbossws-cxf-client\n"))
- .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHello.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHelloResponse.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.KeystorePasswordCallback.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service221Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service222Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service223Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service224Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.ServiceIface.class)
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.jks"),
"classes/bob.jks")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.properties"),
"classes/bob.properties")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService.wsdl"),
"wsdl/SecurityService.wsdl")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService_schema1.xsd"),
"wsdl/SecurityService_schema1.xsd");
- }
- });
-
- public static final String SERVER_23X_WAR = JBossWSTestHelper.writeToFile(new
JBossWSTestHelper.WarDeployment("jaxws-samples-wsse-policy-oasis-23x.war") { {
- archive
- .setManifest(new StringAsset("Manifest-Version: 1.0\n"
- + "Dependencies: org.jboss.ws.cxf.jbossws-cxf-client\n"))
- .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHello.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHelloResponse.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.KeystorePasswordCallback.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2311Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2312Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2313Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2314Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2315Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2321Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2322Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2323Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2324Impl.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.ServiceIface.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.SAMLValidator.class)
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.jks"),
"classes/bob.jks")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.properties"),
"classes/bob.properties")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService23x.wsdl"),
"wsdl/SecurityService23x.wsdl")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService_schema1.xsd"),
"wsdl/SecurityService_schema1.xsd");
- }
- });
-
- private DeploymentArchives() {
- //NOOP
- }
-}
Modified:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples22xTestCase.java
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples22xTestCase.java 2014-11-20
20:56:33 UTC (rev 19109)
+++
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples22xTestCase.java 2014-11-21
16:35:25 UTC (rev 19110)
@@ -21,19 +21,28 @@
*/
package org.jboss.test.ws.jaxws.samples.wsse.policy.oasis;
+import java.io.File;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
-import junit.framework.Test;
-
import org.apache.cxf.ws.security.SecurityConstants;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.test.ws.jaxws.samples.wsse.policy.basic.KeystorePasswordCallback;
import org.jboss.wsf.test.CryptoHelper;
-import org.jboss.wsf.test.JBossWSCXFTestSetup;
import org.jboss.wsf.test.JBossWSTest;
+import org.jboss.wsf.test.JBossWSTestHelper;
+import org.jboss.wsf.test.WrapThreadContextClassLoader;
+import org.junit.Test;
+import org.junit.runner.RunWith;
/**
* WS-Security Policy examples
@@ -44,17 +53,45 @@
* @author alessio.soldano(a)jboss.com
* @since 07-Sep-2012
*/
+(a)RunWith(Arquillian.class)
public final class WSSecurityPolicyExamples22xTestCase extends JBossWSTest
{
private final String NS =
"http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy/oasis-samples";
- private final String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-policy-oasis-22x/";
private final QName serviceName = new QName(NS, "SecurityService");
- public static Test suite()
- {
- return new JBossWSCXFTestSetup(WSSecurityPolicyExamples22xTestCase.class,
- DeploymentArchives.SERVER_22X_WAR + " " +
DeploymentArchives.CLIENT_JAR);
+ @ArquillianResource
+ private URL baseURL;
+
+ @Deployment(testable = false)
+ public static WebArchive createDeployment() {
+ WebArchive archive = ShrinkWrap.create(WebArchive.class,
"jaxws-samples-wsse-policy-oasis-22x.war");
+ archive.setManifest(new StringAsset("Manifest-Version: 1.0\n"
+ + "Dependencies: org.jboss.ws.cxf.jbossws-cxf-client\n"))
+ .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHello.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHelloResponse.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.KeystorePasswordCallback.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service221Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service222Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service223Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service224Impl.class)
+ .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.ServiceIface.class)
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.jks"),
"classes/bob.jks")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.properties"),
"classes/bob.properties")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService.wsdl"),
"wsdl/SecurityService.wsdl")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService_schema1.xsd"),
"wsdl/SecurityService_schema1.xsd");
+ return archive;
}
+
+ @Override
+ protected String getClientJarPaths() {
+ return JBossWSTestHelper.writeToFile(new
JBossWSTestHelper.JarDeployment("jaxws-samples-wsse-policy-oasis-22x-client.jar")
{ {
+ archive
+ .addManifest()
+ .addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/META-INF/alice.jks"), "alice.jks")
+ .addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/META-INF/alice.properties"),
"alice.properties");
+ }
+ });
+ }
/**
* 2.2.1 (WSS1.0) X.509 Certificates, Sign, Encrypt
@@ -64,9 +101,12 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test221() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService221?wsdl"), serviceName);
+ Service service = Service.create(new URL(baseURL +
"SecurityService221?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService221Port"), ServiceIface.class);
setupWsse(proxy, true);
try {
@@ -86,9 +126,12 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test222() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService222?wsdl"), serviceName);
+ Service service = Service.create(new URL(baseURL +
"SecurityService222?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService222Port"), ServiceIface.class);
setupWsse(proxy, true);
try {
@@ -108,9 +151,12 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test223() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService223?wsdl"), serviceName);
+ Service service = Service.create(new URL(baseURL +
"SecurityService223?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService223Port"), ServiceIface.class);
setupWsse(proxy, true);
try {
@@ -130,9 +176,12 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test224() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService224?wsdl"), serviceName);
+ Service service = Service.create(new URL(baseURL +
"SecurityService224?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService224Port"), ServiceIface.class);
setupWsse(proxy, false);
try {
Modified:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java 2014-11-20
20:56:33 UTC (rev 19109)
+++
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java 2014-11-21
16:35:25 UTC (rev 19110)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source.
- * Copyright 2012, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2014, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
@@ -21,20 +21,33 @@
*/
package org.jboss.test.ws.jaxws.samples.wsse.policy.oasis;
+import java.io.File;
import java.net.URL;
-import java.util.HashMap;
import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
-import junit.framework.Test;
-
import org.apache.cxf.ws.security.SecurityConstants;
+import org.jboss.arquillian.container.test.api.ContainerController;
+import org.jboss.arquillian.container.test.api.Deployer;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OperateOnDeployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.container.test.api.TargetsContainer;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.wsf.test.CryptoHelper;
-import org.jboss.wsf.test.JBossWSCXFTestSetup;
import org.jboss.wsf.test.JBossWSTest;
+import org.jboss.wsf.test.JBossWSTestHelper;
+import org.jboss.wsf.test.WrapThreadContextClassLoader;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
/**
* WS-Security Policy examples
@@ -45,43 +58,82 @@
* @author alessio.soldano(a)jboss.com
* @since 10-Sep-2012
*/
+(a)RunWith(Arquillian.class)
public final class WSSecurityPolicyExamples23xTestCase extends JBossWSTest
{
+ private static final String DEPLOYMENT =
"jaxws-samples-wsse-policy-oasis-23x";
+ private static final String SSL_MUTUAL_AUTH_SERVER = "ssl-mutual-auth";
+
private final String NS =
"http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy/oasis-samples";
- private final String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-policy-oasis-23x/";
- private final String serviceURLHttps = "https://" + getServerHost() +
":8443/jaxws-samples-wsse-policy-oasis-23x/";
+ //TODO use a proper mechanism for figuring out host/port
+ private final String serviceURL = "http://" + getServerHost() +
":18080/jaxws-samples-wsse-policy-oasis-23x/";
+ private final String serviceURLHttps = "https://" + getServerHost() +
":18443/jaxws-samples-wsse-policy-oasis-23x/";
private final QName serviceName = new QName(NS, "SecurityService");
- public static Test suite()
- {
- /** System properties - currently set at testsuite start time
- System.setProperty("javax.net.ssl.trustStore",
"my.truststore");
- System.setProperty("javax.net.ssl.trustStorePassword",
"changeit");
- System.setProperty("javax.net.ssl.trustStoreType", "jks");
- System.setProperty("javax.net.ssl.keyStore", "my.keystore");
- System.setProperty("javax.net.ssl.keyStorePassword",
"changeit");
- System.setProperty("javax.net.ssl.keyStoreType", "jks");
- System.setProperty("org.jboss.security.ignoreHttpsHost",
"true");
- */
- JBossWSCXFTestSetup setup = new
JBossWSCXFTestSetup(WSSecurityPolicyExamples23xTestCase.class,
- DeploymentArchives.SERVER_23X_WAR + " " +
DeploymentArchives.CLIENT_JAR);
- Map<String, String> sslOptions = new HashMap<String, String>();
- sslOptions.put("server-identity.ssl.keystore-path",
System.getProperty("org.jboss.ws.testsuite.server.keystore"));
- sslOptions.put("server-identity.ssl.keystore-password",
"changeit");
- sslOptions.put("server-identity.ssl.alias", "tomcat");
- //enable SSL mutual authentication (https client cert is checked on server side)
- sslOptions.put("verify-client", "REQUESTED");
- sslOptions.put("authentication.truststore.keystore-path",
System.getProperty("org.jboss.ws.testsuite.server.truststore"));
- sslOptions.put("authentication.truststore.keystore-password",
"changeit");
- setup.setHttpsConnectorRequirement(sslOptions);
- return setup;
+// @ArquillianResource
+// private URL baseURL;
+
+ @ArquillianResource
+ private Deployer deployer;
+
+ @ArquillianResource
+ private ContainerController containerController;
+
+ @Deployment(name = DEPLOYMENT, testable = false, managed = false)
+ @TargetsContainer(SSL_MUTUAL_AUTH_SERVER)
+ public static WebArchive createDeployment() {
+ WebArchive archive = ShrinkWrap.create(WebArchive.class, DEPLOYMENT +
".war");
+ archive.setManifest(new StringAsset("Manifest-Version: 1.0\n"
+ + "Dependencies: org.jboss.ws.cxf.jbossws-cxf-client\n"))
+ .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHello.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHelloResponse.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.KeystorePasswordCallback.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2311Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2312Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2313Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2314Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2315Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2321Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2322Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2323Impl.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.Service2324Impl.class)
+ .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.ServiceIface.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.SAMLValidator.class)
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.jks"),
"classes/bob.jks")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/bob.properties"),
"classes/bob.properties")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService23x.wsdl"),
"wsdl/SecurityService23x.wsdl")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService_schema1.xsd"),
"wsdl/SecurityService_schema1.xsd");
+ return archive;
}
+ @Override
+ protected String getClientJarPaths() {
+ return JBossWSTestHelper.writeToFile(new
JBossWSTestHelper.JarDeployment("jaxws-samples-wsse-policy-oasis-23x-client.jar")
{ {
+ archive
+ .addManifest()
+ .addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/META-INF/alice.jks"), "alice.jks")
+ .addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/oasis/META-INF/alice.properties"),
"alice.properties");
+ }
+ });
+ }
+
+ @Before
+ public void startContainerAndDeploy() throws Exception {
+ if (!containerController.isStarted(SSL_MUTUAL_AUTH_SERVER)) {
+ containerController.start(SSL_MUTUAL_AUTH_SERVER);
+ deployer.deploy(DEPLOYMENT);
+ }
+ }
+
/**
* 2.3.1.1 (WSS1.0) SAML1.1 Assertion (Bearer)
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
+ @OperateOnDeployment(DEPLOYMENT)
public void test2311() throws Exception
{
Service service = Service.create(new URL(serviceURL +
"SecurityService2311?wsdl"), serviceName);
@@ -95,6 +147,10 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
+ @OperateOnDeployment(DEPLOYMENT)
public void test2312() throws Exception
{
Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2312?wsdl"), serviceName);
@@ -110,6 +166,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2313() throws Exception
{
Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2313?wsdl"), serviceName);
@@ -130,6 +189,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2314() throws Exception
{
Service service = Service.create(new URL(serviceURL +
"SecurityService2314?wsdl"), serviceName);
@@ -155,6 +217,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2315() throws Exception
{
Service service = Service.create(new URL(serviceURL +
"SecurityService2315?wsdl"), serviceName);
@@ -181,6 +246,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2321() throws Exception
{
Service service = Service.create(new URL(serviceURL +
"SecurityService2321?wsdl"), serviceName);
@@ -203,6 +271,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2322() throws Exception
{
Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2322?wsdl"), serviceName);
@@ -219,6 +290,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2323() throws Exception
{
Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2323?wsdl"), serviceName);
@@ -240,6 +314,9 @@
*
* @throws Exception
*/
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test2324() throws Exception
{
Service service = Service.create(new URL(serviceURL +
"SecurityService2324?wsdl"), serviceName);
Modified:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/secconv/SecureConversationTestCase.java
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/secconv/SecureConversationTestCase.java 2014-11-20
20:56:33 UTC (rev 19109)
+++
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/secconv/SecureConversationTestCase.java 2014-11-21
16:35:25 UTC (rev 19110)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source.
- * Copyright 2012, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2014, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
@@ -23,22 +23,25 @@
import java.io.File;
import java.net.URL;
-import java.util.LinkedList;
-import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
-import junit.framework.Test;
-
import org.apache.cxf.ws.security.SecurityConstants;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.test.ws.jaxws.samples.wsse.policy.basic.KeystorePasswordCallback;
-import org.jboss.wsf.test.JBossWSCXFTestSetup;
import org.jboss.wsf.test.JBossWSTest;
import org.jboss.wsf.test.JBossWSTestHelper;
-import org.jboss.wsf.test.JBossWSTestHelper.BaseDeployment;
+import org.jboss.wsf.test.WrapThreadContextClassLoader;
+import org.junit.Test;
+import org.junit.runner.RunWith;
/**
* Secure Conversation testcase
@@ -51,40 +54,43 @@
* @author alessio.soldano(a)jboss.com
* @since 06-Sep-2012
*/
+(a)RunWith(Arquillian.class)
public final class SecureConversationTestCase extends JBossWSTest
{
- public static BaseDeployment<?>[] createDeployments() {
- List<BaseDeployment<?>> list = new
LinkedList<BaseDeployment<?>>();
- list.add(new
JBossWSTestHelper.WarDeployment("jaxws-samples-wsse-policy-secconv.war") { {
+ @ArquillianResource
+ private URL baseURL;
+
+ @Deployment(testable = false)
+ public static WebArchive createDeployment() {
+ WebArchive archive = ShrinkWrap.create(WebArchive.class,
"jaxws-samples-wsse-policy-secconv.war");
+ archive.setManifest(new StringAsset("Manifest-Version: 1.0\n"
+ + "Dependencies: org.jboss.ws.cxf.jbossws-cxf-client\n"))
+ .addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHello.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHelloResponse.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.secconv.KeystorePasswordCallback.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.secconv.ServiceIface.class)
+
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.secconv.ServiceImpl.class)
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/bob.jks"),
"classes/bob.jks")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/bob.properties"),
"classes/bob.properties")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/wsdl/SecurityService.wsdl"),
"wsdl/SecurityService.wsdl")
+ .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/wsdl/SecurityService_schema1.xsd"),
"wsdl/SecurityService_schema1.xsd");
+ return archive;
+ }
+
+ @Override
+ protected String getClientJarPaths() {
+ return JBossWSTestHelper.writeToFile(new
JBossWSTestHelper.JarDeployment("jaxws-samples-wsse-policy-secconv-client.jar")
{ {
archive
- .setManifest(new StringAsset("Manifest-Version: 1.0\n"
- + "Dependencies: org.jboss.ws.cxf.jbossws-cxf-client\n"))
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHello.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.jaxws.SayHelloResponse.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.secconv.KeystorePasswordCallback.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.secconv.ServiceIface.class)
-
.addClass(org.jboss.test.ws.jaxws.samples.wsse.policy.secconv.ServiceImpl.class)
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/bob.jks"),
"classes/bob.jks")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/bob.properties"),
"classes/bob.properties")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/wsdl/SecurityService.wsdl"),
"wsdl/SecurityService.wsdl")
- .addAsWebInfResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/WEB-INF/wsdl/SecurityService_schema1.xsd"),
"wsdl/SecurityService_schema1.xsd");
- }
- });
- list.add(new
JBossWSTestHelper.JarDeployment("jaxws-samples-wsse-policy-secconv-client.jar")
{ {
- archive
.addManifest()
.addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/META-INF/alice.jks"),
"alice.jks")
.addAsManifestResource(new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/wsse/policy/secconv/META-INF/alice.properties"),
"alice.properties");
}
});
- return list.toArray(new BaseDeployment<?>[list.size()]);
}
- public static Test suite()
- {
- return new JBossWSCXFTestSetup(SecureConversationTestCase.class,
JBossWSTestHelper.writeToFile(createDeployments()));
- }
-
+ @Test
+ @RunAsClient
+ @WrapThreadContextClassLoader
public void test() throws Exception
{
QName serviceName = new
QName("http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy",
"SecurityService");
Added:
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy
(rev 0)
+++
stack/cxf/branches/arquillian/modules/testsuite/cxf-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy 2014-11-21
16:35:25 UTC (rev 19110)
@@ -0,0 +1,42 @@
+def root = new XmlParser().parse(project.properties['inputFile'])
+
+/**
+ * Add a https connector like this:
+ *
+ * <security-realm name="jbws-test-https-realm">
+ * <server-identities>
+ * <ssl>
+ * <keystore
path="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/test.keystore"
keystore-password="changeit" alias="tomcat"/>
+ * </ssl>
+ * </server-identities>
+ * <authentication>
+ * <truststore
path="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/test.truststore"
keystore-password="changeit"/>
+ * </authentication>
+ * </security-realm>
+ *
+ * ...
+ *
+ * <https-listener name="jbws-test-https-listener"
socket-binding="https" security-realm="jbws-test-https-realm"
verify-client="REQUESTED"/>
+ */
+
+def securityRealms = root.management.'security-realms'[0]
+def securityRealm = securityRealms.appendNode('security-realm',
['name':'jbws-test-https-realm'])
+def serverIdentities = securityRealm.appendNode('server-identities')
+def ssl = serverIdentities.appendNode('ssl')
+ssl.appendNode('keystore',
['path':project.properties['keystorePath'],'keystore-password':'changeit','alias':'tomcat'])
+def authentication = securityRealm.appendNode('authentication')
+authentication.appendNode('truststore',
['path':project.properties['truststorePath'],'keystore-password':'changeit'])
+
+def server = root.profile.subsystem.server[0]
+server.appendNode('https-listener',
['name':'jbws-test-https-listener','socket-binding':'https','security-realm':'jbws-test-https-realm','verify-client':'REQUESTED'])
+
+
+/**
+ * Save the configuration to a new file
+ */
+
+def writer = new StringWriter()
+writer.println('<?xml version="1.0"
encoding="UTF-8"?>')
+new XmlNodePrinter(new PrintWriter(writer)).print(root)
+def f = new File(project.properties['outputFile'])
+f.write(writer.toString())