[jbossws-commits] JBossWS SVN: r19165 - in stack/cxf/branches/arquillian/modules/testsuite/shared-tests: src/test and 2 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Sat Dec 20 15:17:22 EST 2014


Author: rsearls
Date: 2014-12-20 15:17:21 -0500 (Sat, 20 Dec 2014)
New Revision: 19165

Added:
   stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/etc/arquillian.xml
   stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/
   stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default-config-tests.groovy
   stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default.groovy
   stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy
Modified:
   stack/cxf/branches/arquillian/modules/testsuite/shared-tests/pom.xml
Log:
configuration for arquillian conversion

Modified: stack/cxf/branches/arquillian/modules/testsuite/shared-tests/pom.xml
===================================================================
--- stack/cxf/branches/arquillian/modules/testsuite/shared-tests/pom.xml	2014-12-19 16:03:19 UTC (rev 19164)
+++ stack/cxf/branches/arquillian/modules/testsuite/shared-tests/pom.xml	2014-12-20 20:17:21 UTC (rev 19165)
@@ -51,6 +51,64 @@
       </activation>
       <build>
         <plugins>
+            <plugin>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>gmaven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>testsuite-default</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <source>${basedir}/src/test/scripts/jbws-testsuite-default.groovy</source>
+                            <properties>
+                                <inputFile>${jboss.home}/standalone/configuration/standalone.xml</inputFile>
+                                <outputFile>${jboss.home}/standalone/configuration/jbws-testsuite-default.xml</outputFile>
+                                <serverLog>jbws-testsuite-default.log</serverLog>
+                                <usersPropFile>${project.build.directory}/test-classes/jbossws-users.properties</usersPropFile>
+                                <rolesPropFile>${project.build.directory}/test-classes/jbossws-roles.properties</rolesPropFile>
+                                <keystorePath>${project.build.directory}/test-classes/test.keystore</keystorePath>
+                                <testResourcesDir>${project.build.directory}/test-resources</testResourcesDir>
+                            </properties>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>testsuite-ssl-mutual-auth</id>
+                        <phase>pre-integration-test</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>
+                                <serverLog>jbws-testsuite-ssl-mutual-auth.log</serverLog>
+                                <keystorePath>${project.build.directory}/test-classes/test.keystore</keystorePath>
+                                <truststorePath>${project.build.directory}/test-classes/test.truststore</truststorePath>
+                            </properties>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>testsuite-default-config-tests</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <source>${basedir}/src/test/scripts/jbws-testsuite-default-config-tests.groovy</source>
+                            <properties>
+                                <inputFile>${jboss.home}/standalone/configuration/standalone.xml</inputFile>
+                                <outputFile>${jboss.home}/standalone/configuration/jbws-testsuite-default-config-tests.xml</outputFile>
+                                <serverLog>jbws-testsuite-default-config-tests.log</serverLog>
+                            </properties>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- rls
           <plugin>
             <artifactId>maven-antrun-plugin</artifactId>
             <executions>
@@ -93,6 +151,7 @@
               </execution>
             </executions>
           </plugin>
+     rls       -->
           <plugin> <!-- This copies jbossws-cxf-factories jar to endorsed dir before the integration-tests are run -->
             <artifactId>maven-resources-plugin</artifactId>
             <executions>
@@ -119,7 +178,7 @@
         </plugins>
       </build>
     </profile>
-    
+  <!-- rls
     <profile>
       <id>build-benchmarks</id>
       <build>
@@ -151,6 +210,61 @@
         </plugins>
       </build>
     </profile>
+  rls -->
+      <!-- When the 'fast' profile is on, the testsuite runs in parallel mode; Arquillan messes up with containers in such a scenario, unless they're started upfront.
+           So we start all the containers specified in the arquillan.xml configuration -->
+      <profile>
+          <id>fast</id>
+          <build>
+              <plugins>
+                  <plugin>
+                      <groupId>org.wildfly.plugins</groupId>
+                      <artifactId>wildfly-maven-plugin</artifactId>
+                      <executions>
+                          <execution>
+                              <id>jboss</id>
+                              <phase>pre-integration-test</phase>
+                              <goals>
+                                  <goal>start</goal>
+                              </goals>
+                              <configuration>
+                                  <jvmArgs>-server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m ${additionalJvmArgs}</jvmArgs>
+                                  <serverConfig>jbws-testsuite-default.xml</serverConfig>
+                                  <jbossHome>${jboss.home}</jbossHome>
+                                  <port>9990</port>
+                              </configuration>
+                          </execution>
+                          <execution>
+                              <id>ssl-mutual-auth</id>
+                              <phase>pre-integration-test</phase>
+                              <goals>
+                                  <goal>start</goal>
+                              </goals>
+                              <configuration>
+                                  <jvmArgs>-server -XX:+UseCompressedOops -Xms48m -Xmx384m -XX:MaxPermSize=192m -Djboss.socket.binding.port-offset=10000 ${additionalJvmArgs}</jvmArgs>
+                                  <serverConfig>jbws-testsuite-ssl-mutual-auth.xml</serverConfig>
+                                  <jbossHome>${jboss.home}</jbossHome>
+                                  <port>19990</port>
+                              </configuration>
+                          </execution>
+                          <execution>
+                              <id>default-config-tests</id>
+                              <phase>pre-integration-test</phase>
+                              <goals>
+                                  <goal>start</goal>
+                              </goals>
+                              <configuration>
+                                  <jvmArgs>-server -XX:+UseCompressedOops -Xms48m -Xmx384m -XX:MaxPermSize=192m -Djboss.socket.binding.port-offset=20000 ${additionalJvmArgs}</jvmArgs>
+                                  <serverConfig>jbws-testsuite-default-config-tests.xml</serverConfig>
+                                  <jbossHome>${jboss.home}</jbossHome>
+                                  <port>29990</port>
+                              </configuration>
+                          </execution>
+                      </executions>
+                  </plugin>
+              </plugins>
+          </build>
+      </profile>
 
   </profiles>
 

Added: stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/etc/arquillian.xml
===================================================================
--- stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/etc/arquillian.xml	                        (rev 0)
+++ stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/etc/arquillian.xml	2014-12-20 20:17:21 UTC (rev 19165)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+
+  <group qualifier="shared-tests" default="true">
+    <container qualifier="jboss" default="true">
+        <configuration>
+            <property name="jbossHome">/home/rsearls/j1/jbossws/arquillian/modules/testsuite/shared-tests/target/test-server/jbossws-cxf-dist-5.0.0-SNAPSHOT/wildfly-8.1.0.Final</property>
+            <property name="javaVmArguments">-server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djavax.wsdl.factory.WSDLFactory=com.ibm.wsdl.factory.WSDLFactoryImpl</property>
+            <property name="serverConfig">jbws-testsuite-default.xml</property>
+            <property name="allowConnectingToRunningServer">true</property>
+            <property name="managementPort">${as.managementPort:9990}</property>
+            <!-- AS7-4070 -->
+            <property name="waitForPorts">${as.debug.port:8787} ${as.managementPort:9990}</property>
+            <property name="waitForPortsTimeoutInSeconds">8</property>
+        </configuration>
+    </container>
+    <container qualifier="ssl-mutual-auth" mode="manual">
+        <configuration>
+            <property name="jbossHome">/home/rsearls/j1/jbossws/arquillian/modules/testsuite/shared-tests/target/test-server/jbossws-cxf-dist-5.0.0-SNAPSHOT/wildfly-8.1.0.Final</property>
+            <property name="javaVmArguments">-server -XX:+UseCompressedOops -Xms48m -Xmx384m -XX:MaxPermSize=192m -Djboss.socket.binding.port-offset=10000 -Djavax.wsdl.factory.WSDLFactory=com.ibm.wsdl.factory.WSDLFactoryImpl</property>
+            <property name="serverConfig">jbws-testsuite-ssl-mutual-auth.xml</property>
+            <property name="allowConnectingToRunningServer">true</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>
+    <container qualifier="default-config-tests" mode="manual">
+        <configuration>
+            <property name="jbossHome">/home/rsearls/j1/jbossws/arquillian/modules/testsuite/shared-tests/target/test-server/jbossws-cxf-dist-5.0.0-SNAPSHOT/wildfly-8.1.0.Final</property>
+            <property name="javaVmArguments">-server -XX:+UseCompressedOops -Xms48m -Xmx384m -XX:MaxPermSize=192m -Djboss.socket.binding.port-offset=20000 -Djavax.wsdl.factory.WSDLFactory=com.ibm.wsdl.factory.WSDLFactoryImpl</property>
+            <property name="serverConfig">jbws-testsuite-default-config-tests.xml</property>
+            <property name="allowConnectingToRunningServer">true</property>
+            <property name="managementPort">${as.managementPort:29990}</property>
+            <!-- AS7-4070 -->
+            <property name="waitForPorts">${as.debug.port:28787} ${as.managementPort:29990}</property>
+            <property name="waitForPortsTimeoutInSeconds">8</property>
+        </configuration>
+    </container>
+  </group>
+</arquillian>

Added: stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default-config-tests.groovy
===================================================================
--- stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default-config-tests.groovy	                        (rev 0)
+++ stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default-config-tests.groovy	2014-12-20 20:17:21 UTC (rev 19165)
@@ -0,0 +1,44 @@
+def root = new XmlParser().parse(project.properties['inputFile'])
+
+/**
+ * Fix logging: remove CONSOLE handler and set a specific log file
+ *
+ */
+def logHandlers = root.profile.subsystem.'root-logger'.handlers[0]
+def consoleHandler = logHandlers.find{it. at name == 'CONSOLE'}
+logHandlers.remove(consoleHandler)
+def file = root.profile.subsystem.'periodic-rotating-file-handler'.file[0]
+file.attributes()['path'] = project.properties['serverLog']
+
+/**
+ * Add a security-domain block like this:
+ *
+ * <security-domain name="JBossWS" cache-type="default">
+ *   <authentication>
+ *     <login-module code="UsersRoles" flag="required">
+ *       <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-users.properties"/>
+ *       <module-option name="unauthenticatedIdentity" value="anonymous"/>
+ *       <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-roles.properties"/>
+ *     </login-module>
+ *   </authentication>
+ * </security-domain>
+ *
+ */
+
+def securityDomains = root.profile.subsystem.'security-domains'[0]
+def securityDomain = securityDomains.appendNode('security-domain', ['name':'JBossWS','cache-type':'default'])
+def authentication = securityDomain.appendNode('authentication')
+def loginModule = authentication.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModule.appendNode('module-option', ['name':'unauthenticatedIdentity','value':'anonymous'])
+loginModule.appendNode('module-option', ['name':'usersProperties','value':project.properties['usersPropFile']])
+loginModule.appendNode('module-option', ['name':'rolesProperties','value':project.properties['rolesPropFile']])
+
+/**
+ * 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())

Added: stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default.groovy
===================================================================
--- stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default.groovy	                        (rev 0)
+++ stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-default.groovy	2014-12-20 20:17:21 UTC (rev 19165)
@@ -0,0 +1,225 @@
+def root = new XmlParser().parse(project.properties['inputFile'])
+
+/**
+ * Fix logging: remove CONSOLE handler and set a specific log file
+ *
+ */
+def logHandlers = root.profile.subsystem.'root-logger'.handlers[0]
+def consoleHandler = logHandlers.find{it. at name == 'CONSOLE'}
+logHandlers.remove(consoleHandler)
+def file = root.profile.subsystem.'periodic-rotating-file-handler'.file[0]
+file.attributes()['path'] = project.properties['serverLog']
+
+/**
+ * Add a security-domain block like this:
+ *
+ * <security-domain name="JBossWS" cache-type="default">
+ *   <authentication>
+ *     <login-module code="UsersRoles" flag="required">
+ *       <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-users.properties"/>
+ *       <module-option name="unauthenticatedIdentity" value="anonymous"/>
+ *       <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-roles.properties"/>
+ *     </login-module>
+ *   </authentication>
+ * </security-domain>
+ *
+ */
+
+def securityDomains = root.profile.subsystem.'security-domains'[0]
+def securityDomain = securityDomains.appendNode('security-domain', ['name':'JBossWS','cache-type':'default'])
+def authentication = securityDomain.appendNode('authentication')
+def loginModule = authentication.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModule.appendNode('module-option', ['name':'unauthenticatedIdentity','value':'anonymous'])
+loginModule.appendNode('module-option', ['name':'usersProperties','value':project.properties['usersPropFile']])
+loginModule.appendNode('module-option', ['name':'rolesProperties','value':project.properties['rolesPropFile']])
+
+/**
+ * Add a security-domain block like this:
+ *
+ * <security-domain name="JBossWS-trust-sts" cache-type="default">
+ *   <authentication>
+ *     <login-module code="UsersRoles" flag="required">
+ *       <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/samples/wsse/policy/trust/WEB-INF/jbossws-users.properties"/>
+ *       <module-option name="unauthenticatedIdentity" value="anonymous"/>
+ *       <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/samples/wsse/policy/trust/WEB-INF/jbossws-roles.properties"/>
+ *     </login-module>
+ *   </authentication>
+ * </security-domain>
+ *
+ */
+
+def securityDomainSts = securityDomains.appendNode('security-domain', ['name':'JBossWS-trust-sts','cache-type':'default'])
+def authenticationSts = securityDomainSts.appendNode('authentication')
+def loginModuleSts = authenticationSts.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModuleSts.appendNode('module-option', ['name':'unauthenticatedIdentity','value':'anonymous'])
+loginModuleSts.appendNode('module-option', ['name':'usersProperties','value':project.properties['testResourcesDir'] + '/jaxws/samples/wsse/policy/trust/WEB-INF/jbossws-users.properties'])
+loginModuleSts.appendNode('module-option', ['name':'rolesProperties','value':project.properties['testResourcesDir'] + '/jaxws/samples/wsse/policy/trust/WEB-INF/jbossws-roles.properties'])
+
+/**
+ * Add a security-domain block like this:
+ *
+ * <security-domain name="ws-basic-domain" cache-type="default">
+ *   <authentication>
+ *     <login-module code="UsersRoles" flag="required">
+ *       <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/cxf/httpauth/WEB-INF/ws-users.properties"/>
+ *       <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/cxf/httpauth/WEB-INF/ws-roles.properties"/>
+ *       <module-option name="password-stacking" value="useFirstPass"/>
+ *     </login-module>
+ *   </authentication>
+ * </security-domain>
+ *
+ */
+
+def securityDomainBasicAuth = securityDomains.appendNode('security-domain', ['name':'ws-basic-domain','cache-type':'default'])
+def authenticationBasicAuth = securityDomainBasicAuth.appendNode('authentication')
+def loginModuleBasicAuth = authenticationBasicAuth.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModuleBasicAuth.appendNode('module-option', ['name':'usersProperties','value':project.properties['testResourcesDir'] + '/jaxws/cxf/httpauth/WEB-INF/ws-users.properties'])
+loginModuleBasicAuth.appendNode('module-option', ['name':'rolesProperties','value':project.properties['testResourcesDir'] + '/jaxws/cxf/httpauth/WEB-INF/ws-roles.properties'])
+loginModuleBasicAuth.appendNode('module-option', ['name':'password-stacking','value':'useFirstPass'])
+
+/**
+ * Add a security-domain block like this:
+ *
+ * <security-domain name="ws-digest-domain" cache-type="default">
+ *   <authentication>
+ *     <login-module code="UsersRoles" flag="required">
+ *       <module-option name="hashUserPassword" value="false"/>
+ *       <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/cxf/httpauth/WEB-INF/ws-users.properties"/>
+ *       <module-option name="hashAlgorithm" value="MD5"/>
+ *       <module-option name="hashEncoding" value="RFC2617"/>
+ *       <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/cxf/httpauth/WEB-INF/ws-roles.properties"/>
+ *       <module-option name="storeDigestCallback" value="org.jboss.security.auth.callback.RFC2617Digest"/>
+ *       <module-option name="hashStorePassword" value="true"/>
+ *     </login-module>
+ *   </authentication>
+ * </security-domain>
+ *
+ */
+
+def securityDomainDigestAuth = securityDomains.appendNode('security-domain', ['name':'ws-digest-domain','cache-type':'default'])
+def authenticationDigestAuth = securityDomainDigestAuth.appendNode('authentication')
+def loginModuleDigestAuth = authenticationDigestAuth.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'hashUserPassword','value':'false'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'usersProperties','value':project.properties['testResourcesDir'] + '/jaxws/cxf/httpauth/WEB-INF/ws-users.properties'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'hashAlgorithm','value':'MD5'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'hashEncoding','value':'RFC2617'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'rolesProperties','value':project.properties['testResourcesDir'] + '/jaxws/cxf/httpauth/WEB-INF/ws-roles.properties'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'storeDigestCallback','value':'org.jboss.security.auth.callback.RFC2617Digest'])
+loginModuleDigestAuth.appendNode('module-option', ['name':'hashStorePassword','value':'true'])
+
+/**
+ * Add a security-domain block like this:
+ *
+ * <security-domain name="JBossWSDigest" cache-type="default">
+ *   <authentication>
+ *     <login-module code="UsersRoles" flag="required">
+ *       <module-option name="hashUserPassword" value="false"/>
+ *       <module-option name="hashCharset" value="UTF-8"/>
+ *       <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/samples/wsse/policy/jaas/digest/WEB-INF/jbossws-users.properties"/>
+ *       <module-option name="hashAlgorithm" value="SHA"/>
+ *       <module-option name="unauthenticatedIdentity" value="anonymous"/>
+ *       <module-option name="hashEncoding" value="BASE64"/>
+ *       <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-resources/jaxws/samples/wsse/policy/jaas/digest/WEB-INF/jbossws-roles.properties"/>
+ *       <module-option name="storeDigestCallback" value="org.jboss.wsf.stack.cxf.security.authentication.callback.UsernameTokenCallback"/>
+ *       <module-option name="hashStorePassword" value="true"/>
+ *     </login-module>
+ *   </authentication>
+ * </security-domain>
+ *
+ */
+
+def securityDomainDigest = securityDomains.appendNode('security-domain', ['name':'JBossWSDigest','cache-type':'default'])
+def authenticationDigest = securityDomainDigest.appendNode('authentication')
+def loginModuleDigest = authenticationDigest.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModuleDigest.appendNode('module-option', ['name':'hashUserPassword','value':'false'])
+loginModuleDigest.appendNode('module-option', ['name':'hashCharset','value':'UTF-8'])
+loginModuleDigest.appendNode('module-option', ['name':'hashAlgorithm','value':'SHA'])
+loginModuleDigest.appendNode('module-option', ['name':'hashEncoding','value':'BASE64'])
+loginModuleDigest.appendNode('module-option', ['name':'storeDigestCallback','value':'org.jboss.wsf.stack.cxf.security.authentication.callback.UsernameTokenCallback'])
+loginModuleDigest.appendNode('module-option', ['name':'hashStorePassword','value':'true'])
+loginModuleDigest.appendNode('module-option', ['name':'unauthenticatedIdentity','value':'anonymous'])
+loginModuleDigest.appendNode('module-option', ['name':'usersProperties','value':project.properties['testResourcesDir'] + '/jaxws/samples/wsse/policy/jaas/digest/WEB-INF/jbossws-users.properties'])
+loginModuleDigest.appendNode('module-option', ['name':'rolesProperties','value':project.properties['testResourcesDir'] + '/jaxws/samples/wsse/policy/jaas/digest/WEB-INF/jbossws-roles.properties'])
+
+/**
+ * Add two security-domain blocks for JASPI tests as below:
+ *
+ * <security-domain name="jaspi">
+ *   <authentication-jaspi>
+ *     <login-module-stack name="jaas-lm-stack">
+ *       <login-module code="UsersRoles" flag="required">
+ *         <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-users.properties"/>
+ *         <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-roles.properties"/>
+ *       </login-module>
+ *     </login-module-stack>
+ *     <auth-module code="org.jboss.wsf.stack.cxf.jaspi.module.UsernameTokenServerAuthModule" login-module-stack-ref="jaas-lm-stack"/>
+ *   </authentication-jaspi>
+ * </security-domain>
+ * <security-domain name="clientJaspi">
+ *   <authentication-jaspi>
+ *     <login-module-stack name="jaas-lm-stack">
+ *       <login-module code="UsersRoles" flag="required">
+ *         <module-option name="usersProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-users.properties"/>
+ *         <module-option name="rolesProperties" value="/mnt/ssd/jbossws/stack/cxf/trunk/modules/testsuite/cxf-tests/target/test-classes/jbossws-roles.properties"/>
+ *       </login-module>
+ *     </login-module-stack>
+ *   <auth-module code="org.jboss.wsf.stack.cxf.jaspi.client.module.SOAPClientAuthModule" login-module-stack-ref="jaas-lm-stack"/>
+ * </authentication-jaspi>
+ */
+ 
+def securityDomainJaspi = securityDomains.appendNode('security-domain', ['name':'jaspi'])
+def authenticationJaspi = securityDomainJaspi.appendNode('authentication-jaspi')
+def loginModuleStack = authenticationJaspi.appendNode('login-module-stack', ['name':'jaas-lm-stack'])
+def loginModuleJaspi = loginModuleStack.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModuleJaspi.appendNode('module-option', ['name':'usersProperties','value':project.properties['usersPropFile']])
+loginModuleJaspi.appendNode('module-option', ['name':'rolesProperties','value':project.properties['rolesPropFile']])
+authenticationJaspi.appendNode('auth-module', ['code':'org.jboss.wsf.stack.cxf.jaspi.module.UsernameTokenServerAuthModule','login-module-stack-ref':'jaas-lm-stack'])
+
+def securityDomainJaspiClient = securityDomains.appendNode('security-domain', ['name':'clientJaspi'])
+def authenticationJaspiClient = securityDomainJaspiClient.appendNode('authentication-jaspi')
+def loginModuleStackClient = authenticationJaspiClient.appendNode('login-module-stack', ['name':'jaas-lm-stack'])
+def loginModuleJaspiClient = loginModuleStackClient.appendNode('login-module', ['code':'UsersRoles','flag':'required'])
+loginModuleJaspiClient.appendNode('module-option', ['name':'usersProperties','value':project.properties['usersPropFile']])
+loginModuleJaspiClient.appendNode('module-option', ['name':'rolesProperties','value':project.properties['rolesPropFile']])
+authenticationJaspiClient.appendNode('auth-module', ['code':'org.jboss.wsf.stack.cxf.jaspi.client.module.SOAPClientAuthModule','login-module-stack-ref':'jaas-lm-stack'])
+
+/**
+ * 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>
+ * </security-realm>
+ *
+ */
+
+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 server = root.profile.subsystem.server[0]
+server.appendNode('https-listener', ['name':'jbws-test-https-listener','socket-binding':'https','security-realm':'jbws-test-https-realm'])
+
+
+/**
+ *
+ * Add a system property for JBWS-3628 testcase
+ */
+root.children().add(1, new Node(null, 'system-properties', null)) //add system-properties node after the extensions
+def systemProperties = root.'system-properties'[0]
+systemProperties.appendNode('property', ['name':'org.jboss.wsf.test.JBWS3628TestCase.policy','value':'WS-Addressing_policy'])
+
+/**
+ * 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())

Added: stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy
===================================================================
--- stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy	                        (rev 0)
+++ stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/scripts/jbws-testsuite-ssl-mutual-auth.groovy	2014-12-20 20:17:21 UTC (rev 19165)
@@ -0,0 +1,52 @@
+def root = new XmlParser().parse(project.properties['inputFile'])
+
+/**
+ * Fix logging: remove CONSOLE handler and set a specific log file
+ *
+ */
+def logHandlers = root.profile.subsystem.'root-logger'.handlers[0]
+def consoleHandler = logHandlers.find{it. at name == 'CONSOLE'}
+logHandlers.remove(consoleHandler)
+def file = root.profile.subsystem.'periodic-rotating-file-handler'.file[0]
+file.attributes()['path'] = project.properties['serverLog']
+
+/**
+ * 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())



More information about the jbossws-commits mailing list