01: /*
02: * Copyright 2006 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.springframework.ws.soap.security.xwss;
18:
19: import javax.xml.soap.MessageFactory;
20: import javax.xml.soap.SOAPMessage;
21:
22: import junit.framework.TestCase;
23: import org.springframework.ws.context.DefaultMessageContext;
24: import org.springframework.ws.context.MessageContext;
25: import org.springframework.ws.soap.SoapMessage;
26: import org.springframework.ws.soap.saaj.SaajSoapMessage;
27: import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
28: import org.springframework.ws.soap.security.WsSecurityValidationException;
29:
30: public class XwsSecurityInterceptorTest extends TestCase {
31:
32: private MessageFactory messageFactory;
33:
34: protected void setUp() throws Exception {
35: messageFactory = MessageFactory.newInstance();
36: }
37:
38: public void testhandleRequest() throws Exception {
39: final SOAPMessage request = messageFactory.createMessage();
40: final SOAPMessage validatedRequest = messageFactory
41: .createMessage();
42: XwsSecurityInterceptor interceptor = new XwsSecurityInterceptor() {
43:
44: protected void secureMessage(SoapMessage soapMessage)
45: throws XwsSecuritySecurementException {
46: fail("secure not expected");
47: }
48:
49: protected void validateMessage(SoapMessage message)
50: throws WsSecurityValidationException {
51: SaajSoapMessage saajSoapMessage = (SaajSoapMessage) message;
52: assertEquals("Invalid message", request,
53: saajSoapMessage.getSaajMessage());
54: saajSoapMessage.setSaajMessage(validatedRequest);
55: }
56:
57: };
58: MessageContext context = new DefaultMessageContext(
59: new SaajSoapMessage(request),
60: new SaajSoapMessageFactory(messageFactory));
61: interceptor.handleRequest(context, null);
62: assertEquals("Invalid request", validatedRequest,
63: ((SaajSoapMessage) context.getRequest())
64: .getSaajMessage());
65: }
66:
67: public void testhandleResponse() throws Exception {
68: final SOAPMessage securedResponse = messageFactory
69: .createMessage();
70: XwsSecurityInterceptor interceptor = new XwsSecurityInterceptor() {
71:
72: protected void secureMessage(SoapMessage message)
73: throws XwsSecuritySecurementException {
74: SaajSoapMessage saajSoapMessage = (SaajSoapMessage) message;
75: saajSoapMessage.setSaajMessage(securedResponse);
76: }
77:
78: protected void validateMessage(SoapMessage soapMessage)
79: throws WsSecurityValidationException {
80: fail("validate not expected");
81: }
82:
83: };
84: SOAPMessage request = messageFactory.createMessage();
85: MessageContext context = new DefaultMessageContext(
86: new SaajSoapMessage(request),
87: new SaajSoapMessageFactory(messageFactory));
88: interceptor.handleResponse(context, null);
89: assertEquals("Invalid response", securedResponse,
90: ((SaajSoapMessage) context.getResponse())
91: .getSaajMessage());
92: }
93:
94: }
|