1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.security.wss4j;
18
19 import org.springframework.ws.context.DefaultMessageContext;
20 import org.springframework.ws.context.MessageContext;
21 import org.springframework.ws.soap.SoapMessage;
22 import org.springframework.ws.soap.security.WsSecuritySecurementException;
23 import org.springframework.ws.soap.security.WsSecurityValidationException;
24
25 import org.junit.Test;
26
27 import static org.junit.Assert.assertEquals;
28 import static org.junit.Assert.fail;
29
30 public abstract class Wss4jInterceptorTestCase extends Wss4jTestCase {
31
32 @Test
33 public void testHandleRequest() throws Exception {
34 SoapMessage request = loadSoap11Message("empty-soap.xml");
35 final Object requestMessage = getMessage(request);
36 SoapMessage validatedRequest = loadSoap11Message("empty-soap.xml");
37 final Object validatedRequestMessage = getMessage(validatedRequest);
38 Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor() {
39 @Override
40 protected void secureMessage(SoapMessage soapMessage, MessageContext messageContext)
41 throws WsSecuritySecurementException {
42 fail("secure not expected");
43 }
44
45 @Override
46 protected void validateMessage(SoapMessage soapMessage, MessageContext messageContext)
47 throws WsSecurityValidationException {
48 assertEquals("Invalid message", requestMessage, getMessage(soapMessage));
49 setMessage(soapMessage, validatedRequestMessage);
50 }
51 };
52 MessageContext context = new DefaultMessageContext(request, getSoap11MessageFactory());
53 interceptor.handleRequest(context, null);
54 assertEquals("Invalid request", validatedRequestMessage, getMessage((SoapMessage) context.getRequest()));
55 }
56
57 @Test
58 public void testHandleResponse() throws Exception {
59 SoapMessage securedResponse = loadSoap11Message("empty-soap.xml");
60 final Object securedResponseMessage = getMessage(securedResponse);
61
62 Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor() {
63
64 @Override
65 protected void secureMessage(SoapMessage soapMessage, MessageContext messageContext)
66 throws WsSecuritySecurementException {
67 setMessage(soapMessage, securedResponseMessage);
68 }
69
70 @Override
71 protected void validateMessage(SoapMessage soapMessage, MessageContext messageContext)
72 throws WsSecurityValidationException {
73 fail("validate not expected");
74 }
75
76 };
77 SoapMessage request = loadSoap11Message("empty-soap.xml");
78 MessageContext context = new DefaultMessageContext(request, getSoap11MessageFactory());
79 context.getResponse();
80 interceptor.handleResponse(context, null);
81 assertEquals("Invalid response", securedResponseMessage, getMessage((SoapMessage) context.getResponse()));
82 }
83
84 }