Author: jim.ma
Date: 2013-05-14 06:55:44 -0400 (Tue, 14 May 2013)
New Revision: 17554
Added:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/META-INF/alice.jks
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/META-INF/bob.jks
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/alice.jks
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/bob.jks
Modified:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/java/org/jboss/test/ws/jaxws/samples/kerberos/KerberosTestCase.java
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/jbossws-cxf.xml
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/web.xml
Log:
[JBWS-3634]:Add more tests
Modified:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/java/org/jboss/test/ws/jaxws/samples/kerberos/KerberosTestCase.java
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/java/org/jboss/test/ws/jaxws/samples/kerberos/KerberosTestCase.java 2013-05-14
02:07:11 UTC (rev 17553)
+++
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/java/org/jboss/test/ws/jaxws/samples/kerberos/KerberosTestCase.java 2013-05-14
10:55:44 UTC (rev 17554)
@@ -87,41 +87,183 @@
public class KerberosTestCase extends JBossWSTest
{
- private final String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-kerberos/DoubleItKerberosSupport";
- private final QName servicePort = new
QName("http://www.example.org/contract/DoubleIt",
"DoubleItKerberosSupportingPort");
-
+
+ private static final String namespace =
"http://www.example.org/contract/DoubleIt";
+ private static final QName serviceName = new QName(namespace,
"DoubleItService");
public static Test suite()
{
JBossWSCXFTestSetup testSetup;
testSetup = new JBossWSCXFTestSetup(KerberosTestCase.class,
"jaxws-samples-wsse-kerberos-client.jar jaxws-samples-wsse-kerberos.war");
+ Map<String, String> sslOptions = new HashMap<String, String>();
+ if (isTargetJBoss7())
+ {
+ sslOptions.put("certificate-key-file",
System.getProperty("org.jboss.ws.testsuite.server.keystore"));
+ sslOptions.put("password", "changeit");
+ sslOptions.put("verify-client", "false");
+ sslOptions.put("key-alias", "tomcat");
+ }
+ else
+ {
+ 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");
+ }
+ testSetup.setHttpsConnectorRequirement(sslOptions);
+
return testSetup;
}
public void testKerberosSupport() throws Exception
{
- QName serviceName = new
QName("http://www.example.org/contract/DoubleIt",
"DoubleItService");
+ String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-kerberos/DoubleItKerberosSupport";
+ QName servicePort = new QName(namespace,
"DoubleItKerberosSupportingPort");
+
+ QName serviceName = new QName(namespace, "DoubleItService");
URL wsdlURL = new URL(serviceURL + "?wsdl");
Service service = Service.create(wsdlURL, serviceName);
DoubleItPortType proxy = (DoubleItPortType)service.getPort(servicePort,
DoubleItPortType.class);
-
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
serviceURL);
- setupWsse(proxy);
+ setupKerberosSupport(proxy);
assertEquals(20, proxy.doubleIt(10));
}
+
+
+ public void testKerberosTransport() throws Exception
+ {
+ String serviceURL = "https://" + getServerHost() +
":8443/jaxws-samples-wsse-kerberos/DoubleItKerberosTransport";
+ QName servicePort = new QName(namespace,
"DoubleItKerberosTransportPort");
+ QName serviceName = new QName(namespace, "DoubleItService");
+ URL wsdlURL = new URL(serviceURL + "?wsdl");
+ Service service = Service.create(wsdlURL, serviceName);
+ DoubleItPortType proxy = (DoubleItPortType)service.getPort(servicePort,
DoubleItPortType.class);
+ setupKerberosTransport(proxy);
+ assertEquals(20, proxy.doubleIt(10));
+ }
+
+
+ public void testKerberosSymmetricSupporting() throws Exception
+ {
+ String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-kerberos/DoubleItKerberosOverSymmetricSupporting";
+ QName servicePort = new QName(namespace,
"DoubleItKerberosSymmetricSupportingPort");
+ QName serviceName = new QName(namespace, "DoubleItService");
+ URL wsdlURL = new URL(serviceURL + "?wsdl");
+ Service service = Service.create(wsdlURL, serviceName);
+ DoubleItPortType proxy = (DoubleItPortType)service.getPort(servicePort,
DoubleItPortType.class);
+ setupSymmetricSupporting(proxy);
+ assertEquals(20, proxy.doubleIt(10));
+ }
+
+
+ public void testKerberosAsymmetric() throws Exception
+ {
+ String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-kerberos/DoubleItKerberosAsymmetric";
+ QName servicePort = new QName(namespace,
"DoubleItKerberosAsymmetricPort");
+ QName serviceName = new QName(namespace, "DoubleItService");
+ URL wsdlURL = new URL(serviceURL + "?wsdl");
+ Service service = Service.create(wsdlURL, serviceName);
+ DoubleItPortType proxy = (DoubleItPortType)service.getPort(servicePort,
DoubleItPortType.class);
+ setupAsymmetric(proxy);
+ assertEquals(20, proxy.doubleIt(10));
+ }
+
+ public void testKerberosOverAsymmetricSignedEncrypted() throws Exception
+ {
+ String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-kerberos/DoubleItKerberosOverAsymmetricSignedEncrypted";
+ QName servicePort = new QName(namespace,
"DoubleItKerberosAsymmetricSignedEncryptedPort");
+ QName serviceName = new QName(namespace, "DoubleItService");
+ URL wsdlURL = new URL(serviceURL + "?wsdl");
+ Service service = Service.create(wsdlURL, serviceName);
+ DoubleItPortType proxy = (DoubleItPortType)service.getPort(servicePort,
DoubleItPortType.class);
+ setupAsymmetricSignedEncrypted(proxy);
+ assertEquals(20, proxy.doubleIt(10));
+ }
+
+ public void testKerberosKerberosSymmetric() throws Exception
+ {
+ String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-kerberos/DoubleItKerberosSymmetric";
+ QName servicePort = new QName(namespace,
"DoubleItKerberosSymmetricPort");
+ QName serviceName = new QName(namespace, "DoubleItService");
+ URL wsdlURL = new URL(serviceURL + "?wsdl");
+ Service service = Service.create(wsdlURL, serviceName);
+ DoubleItPortType proxy = (DoubleItPortType)service.getPort(servicePort,
DoubleItPortType.class);
+ setupSymmetricSupporting(proxy);
+ assertEquals(20, proxy.doubleIt(10));
+ }
+
+ private void setupAsymmetricSignedEncrypted(DoubleItPortType proxy)
+ {
+ Client client = ClientProxy.getClient(proxy);
+ Endpoint cxfEndpoint = client.getEndpoint();
+
cxfEndpoint.put("ws-security.callback-handler","org.jboss.test.ws.jaxws.samples.wsse.kerberos.KeystorePasswordCallback");
+ cxfEndpoint.put("ws-security.encryption.properties",
"META-INF/bob.properties");
+ cxfEndpoint.put("ws-security.encryption.username", "bob");
+ cxfEndpoint.put("ws-security.signature.properties",
"META-INF/alice.properties");
+ cxfEndpoint.put("ws-security.signature.username", "alice");
+
+ client.getBus().getFeatures().add(new LoggingFeature());
+ client.getBus().getFeatures().add(new WSPolicyFeature());
+ KerberosClient kerberosClient = new KerberosClient(client.getBus());
+ kerberosClient.setServiceName("bob(a)service.ws.apache.org");
+ kerberosClient.setContextName("alice");
+ cxfEndpoint.put("ws-security.kerberos.client", kerberosClient);
+ }
-
- private void setupWsse(DoubleItPortType proxy)
+ private void setupAsymmetric(DoubleItPortType proxy)
{
Client client = ClientProxy.getClient(proxy);
Endpoint cxfEndpoint = client.getEndpoint();
- cxfEndpoint.put("ws-security.encryption.properties",
Thread.currentThread().getContextClassLoader().getResource("META-INF/bob.properties"));
+
cxfEndpoint.put("ws-security.callback-handler","org.jboss.test.ws.jaxws.samples.wsse.kerberos.KeystorePasswordCallback");
+ cxfEndpoint.put("ws-security.encryption.properties",
"META-INF/bob.properties");
cxfEndpoint.put("ws-security.encryption.username", "bob");
-
+ cxfEndpoint.put("ws-security.signature.properties",
"META-INF/alice.properties");
+ cxfEndpoint.put("ws-security.signature.username", "alice");
+
client.getBus().getFeatures().add(new LoggingFeature());
client.getBus().getFeatures().add(new WSPolicyFeature());
KerberosClient kerberosClient = new KerberosClient(client.getBus());
kerberosClient.setServiceName("bob(a)service.ws.apache.org");
kerberosClient.setContextName("alice");
- cxfEndpoint.put("ws-security.kerberos.client", kerberosClient);
+ cxfEndpoint.put("ws-security.kerberos.client", kerberosClient);
+ }
+
+ private void setupSymmetricSupporting(DoubleItPortType proxy)
+ {
+ Client client = ClientProxy.getClient(proxy);
+ Endpoint cxfEndpoint = client.getEndpoint();
+ cxfEndpoint.put("ws-security.encryption.properties",
"META-INF/bob.properties");
+ cxfEndpoint.put("ws-security.encryption.username", "bob");
+ client.getBus().getFeatures().add(new LoggingFeature());
+ client.getBus().getFeatures().add(new WSPolicyFeature());
+ KerberosClient kerberosClient = new KerberosClient(client.getBus());
+ kerberosClient.setServiceName("bob(a)service.ws.apache.org");
+ kerberosClient.setContextName("alice");
+ cxfEndpoint.put("ws-security.kerberos.client", kerberosClient);
}
+
+ private void setupKerberosSupport(DoubleItPortType proxy)
+ {
+ Client client = ClientProxy.getClient(proxy);
+ Endpoint cxfEndpoint = client.getEndpoint();
+ client.getBus().getFeatures().add(new LoggingFeature());
+ client.getBus().getFeatures().add(new WSPolicyFeature());
+ KerberosClient kerberosClient = new KerberosClient(client.getBus());
+ kerberosClient.setServiceName("bob(a)service.ws.apache.org");
+ kerberosClient.setContextName("alice");
+ cxfEndpoint.put("ws-security.kerberos.client", kerberosClient);
+ }
+
+
+ private void setupKerberosTransport(DoubleItPortType proxy)
+ {
+ Client client = ClientProxy.getClient(proxy);
+ Endpoint cxfEndpoint = client.getEndpoint();
+ cxfEndpoint.put("ws-security.is-bsp-compliant", "false");
+
+ client.getBus().getFeatures().add(new LoggingFeature());
+ client.getBus().getFeatures().add(new WSPolicyFeature());
+ KerberosClient kerberosClient = new KerberosClient(client.getBus());
+ kerberosClient.setServiceName("bob(a)service.ws.apache.org");
+ kerberosClient.setContextName("alice");
+ cxfEndpoint.put("ws-security.kerberos.client", kerberosClient);
+ }
}
Added:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/META-INF/alice.jks
===================================================================
(Binary files differ)
Property changes on:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/META-INF/alice.jks
___________________________________________________________________
Added: svn:mime-type
+ application/x-java-keystore
Added:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/META-INF/bob.jks
===================================================================
(Binary files differ)
Property changes on:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/META-INF/bob.jks
___________________________________________________________________
Added: svn:mime-type
+ application/x-java-keystore
Added:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/alice.jks
===================================================================
(Binary files differ)
Property changes on:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/alice.jks
___________________________________________________________________
Added: svn:mime-type
+ application/x-java-keystore
Added:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/bob.jks
===================================================================
(Binary files differ)
Property changes on:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/bob.jks
___________________________________________________________________
Added: svn:mime-type
+ application/x-java-keystore
Modified:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/jbossws-cxf.xml
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/jbossws-cxf.xml 2013-05-14
02:07:11 UTC (rev 17553)
+++
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/jbossws-cxf.xml 2013-05-14
10:55:44 UTC (rev 17554)
@@ -14,8 +14,6 @@
<property name="serviceName" value="bob(a)service.ws.apache.org"
/>
</bean>
-
-
<jaxws:endpoint id="DoubleItKerberosSupport"
address="http://@jboss.bind.address@:8080/jaxws-samples-wsse-kerberos/DoubleItKerberosSupport"
implementor="org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl">
@@ -25,6 +23,91 @@
<entry key="ws-security.bst.validator"
value-ref="kerberosValidator" />
</jaxws:properties>
</jaxws:endpoint>
+
+ <jaxws:endpoint id="DoubleItKerberosTransport"
+ address="https://@jboss.bind.address@:8443/jaxws-samples-wsse-kerberos/DoubleItKerberosTransport"
+ serviceName="s:DoubleItService"
+ endpointName="s:DoubleItKerberosTransportPort"
+
xmlns:s="http://www.example.org/contract/DoubleIt"
+ implementor="org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl">
+ <jaxws:properties>
+ <entry key="ws-security.is-bsp-compliant"
value="false"/>
+ <entry key="ws-security.bst.validator"
value-ref="kerberosValidator"/>
+ </jaxws:properties>
+ </jaxws:endpoint>
+ <jaxws:endpoint
+ id="KerberosOverAsymmetric"
+
address="http://@jboss.bind.address@:8080/jaxws-samples-wsse-kerberos/DoubleItKerberosAsymmetric"
+ serviceName="s:DoubleItService"
+ endpointName="s:DoubleItKerberosAsymmetricPort"
+
xmlns:s="http://www.example.org/contract/DoubleIt"
+
implementor="org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl">
+
+ <jaxws:properties>
+ <entry key="ws-security.username" value="bob"/>
+ <entry key="ws-security.callback-handler"
value="org.jboss.test.ws.jaxws.samples.wsse.kerberos.KeystorePasswordCallback"/>
+ <entry key="ws-security.signature.properties"
value="bob.properties"/>
+ <entry key="ws-security.encryption.properties"
value="alice.properties"/>
+ <entry key="ws-security.encryption.username"
value="alice"/>
+ <entry key="ws-security.bst.validator"
value-ref="kerberosValidator"/>
+ <entry key="ws-security.is-bsp-compliant"
value="false"/>
+ </jaxws:properties>
+
+ </jaxws:endpoint>
+
+
+ <jaxws:endpoint
+ id="KerberosOverSymmetric"
+
address="http://@jboss.bind.address@:8080/jaxws-samples-wsse-kerberos/DoubleItKerberosSymmetric"
+ serviceName="s:DoubleItService"
+ endpointName="s:DoubleItKerberosSymmetricPort"
+
xmlns:s="http://www.example.org/contract/DoubleIt"
+
implementor="org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl">
+
+ <jaxws:properties>
+ <entry key="ws-security.callback-handler"
value="org.jboss.test.ws.jaxws.samples.wsse.kerberos.KeystorePasswordCallback"/>
+ <entry key="ws-security.signature.properties"
value="bob.properties"/>
+ <entry key="ws-security.bst.validator"
value-ref="kerberosValidator"/>
+ </jaxws:properties>
+
+ </jaxws:endpoint>
+
+
+ <jaxws:endpoint
+ id="KerberosOverSymmetricSupporting"
+
address="http://@jboss.bind.address@:8080/jaxws-samples-wsse-kerberos/DoubleItKerberosOverSymmetricSupporting"
+ serviceName="s:DoubleItService"
+ endpointName="s:DoubleItKerberosSymmetricSupportingPort"
+
xmlns:s="http://www.example.org/contract/DoubleIt"
+
implementor="org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl">
+ <jaxws:properties>
+ <entry key="ws-security.callback-handler"
value="org.jboss.test.ws.jaxws.samples.wsse.kerberos.KeystorePasswordCallback"/>
+ <entry key="ws-security.signature.properties"
value="bob.properties"/>
+ <entry key="ws-security.bst.validator"
value-ref="kerberosValidator"/>
+ </jaxws:properties>
+ </jaxws:endpoint>
+
+ <jaxws:endpoint
+ id="KerberosOverAsymmetricSignedEncrypted"
+
address="http://@jboss.bind.address@:8080/jaxws-samples-wsse-kerberos/DoubleItKerberosOverAsymmetricSignedEncrypted"
+ serviceName="s:DoubleItService"
+ endpointName="s:DoubleItKerberosAsymmetricSignedEncryptedPort"
+
xmlns:s="http://www.example.org/contract/DoubleIt"
+
implementor="org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl">
+
+ <jaxws:properties>
+ <entry key="ws-security.username" value="bob"/>
+ <entry key="ws-security.callback-handler"
value="org.jboss.test.ws.jaxws.samples.wsse.kerberos.KeystorePasswordCallback"/>
+ <entry key="ws-security.signature.properties"
value="bob.properties"/>
+ <entry key="ws-security.encryption.properties"
value="alice.properties"/>
+ <entry key="ws-security.encryption.username"
value="alice"/>
+ <entry key="ws-security.bst.validator"
value-ref="kerberosValidator"/>
+ <entry key="ws-security.is-bsp-compliant"
value="false"/>
+ </jaxws:properties>
+
+ </jaxws:endpoint>
+
+
</beans>
Modified:
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/web.xml
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/web.xml 2013-05-14
02:07:11 UTC (rev 17553)
+++
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/src/test/resources/jaxws/samples/wsse/kerberos/WEB-INF/web.xml 2013-05-14
10:55:44 UTC (rev 17554)
@@ -8,8 +8,51 @@
<servlet-name>DoubleItKerberosSupport</servlet-name>
<servlet-class>org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl</servlet-class>
</servlet>
+ <servlet>
+ <servlet-name>DoubleItKerberosTransport</servlet-name>
+
<servlet-class>org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>DoubleItKerberosOverSymmetricSupporting</servlet-name>
+
<servlet-class>org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>DoubleItKerberosAsymmetric</servlet-name>
+
<servlet-class>org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl</servlet-class>
+ </servlet>
+ <servlet>
+
<servlet-name>DoubleItKerberosOverAsymmetricSignedEncrypted</servlet-name>
+
<servlet-class>org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>DoubleItKerberosSymmetric</servlet-name>
+
<servlet-class>org.jboss.test.ws.jaxws.samples.wsse.kerberos.DoubleItPortTypeImpl</servlet-class>
+ </servlet>
+
<servlet-mapping>
<servlet-name>DoubleItKerberosSupport</servlet-name>
- <url-pattern>/*</url-pattern>
+ <url-pattern>/DoubleItKerberosSupport</url-pattern>
</servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>DoubleItKerberosTransport</servlet-name>
+ <url-pattern>/DoubleItKerberosTransport</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>DoubleItKerberosOverSymmetricSupporting</servlet-name>
+ <url-pattern>/DoubleItKerberosOverSymmetricSupporting</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>DoubleItKerberosAsymmetric</servlet-name>
+ <url-pattern>/DoubleItKerberosAsymmetric</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+
<servlet-name>DoubleItKerberosOverAsymmetricSignedEncrypted</servlet-name>
+
<url-pattern>/DoubleItKerberosOverAsymmetricSignedEncrypted</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>DoubleItKerberosSymmetric</servlet-name>
+ <url-pattern>/DoubleItKerberosSymmetric</url-pattern>
+ </servlet-mapping>
+
+
</web-app>