1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.server.endpoint.adapter.method;
18
19 import org.springframework.core.MethodParameter;
20 import org.springframework.ws.context.MessageContext;
21 import org.springframework.ws.server.endpoint.adapter.method.AbstractMethodArgumentResolverTestCase;
22 import org.springframework.ws.soap.SoapBody;
23 import org.springframework.ws.soap.SoapEnvelope;
24 import org.springframework.ws.soap.SoapHeader;
25 import org.springframework.ws.soap.SoapMessage;
26
27 import org.junit.Before;
28 import org.junit.Test;
29
30 import static org.junit.Assert.assertEquals;
31 import static org.junit.Assert.assertTrue;
32
33
34 public class SoapMethodArgumentResolverTest extends AbstractMethodArgumentResolverTestCase {
35
36 private SoapMethodArgumentResolver resolver;
37
38 private MethodParameter soapMessageParameter;
39
40 private MethodParameter soapEnvelopeParameter;
41
42 private MethodParameter soapBodyParameter;
43
44 private MethodParameter soapHeaderParameter;
45
46 @Before
47 public void setUp() throws Exception {
48 resolver = new SoapMethodArgumentResolver();
49 soapMessageParameter = new MethodParameter(getClass().getMethod("soapMessage", SoapMessage.class), 0);
50 soapEnvelopeParameter = new MethodParameter(getClass().getMethod("soapEnvelope", SoapEnvelope.class), 0);
51 soapBodyParameter = new MethodParameter(getClass().getMethod("soapBody", SoapBody.class), 0);
52 soapHeaderParameter = new MethodParameter(getClass().getMethod("soapHeader", SoapHeader.class), 0);
53 }
54
55 @Test
56 public void supportsParameter() throws Exception {
57 assertTrue("resolver does not support SoapMessage", resolver.supportsParameter(soapMessageParameter));
58 assertTrue("resolver does not support SoapEnvelope", resolver.supportsParameter(soapEnvelopeParameter));
59 assertTrue("resolver does not support SoapBody", resolver.supportsParameter(soapBodyParameter));
60 assertTrue("resolver does not support SoapHeader", resolver.supportsParameter(soapHeaderParameter));
61 }
62
63 @Test
64 public void resolveSoapMessageSaaj() throws Exception {
65 MessageContext messageContext = createSaajMessageContext();
66
67 Object result = resolver.resolveArgument(messageContext, soapMessageParameter);
68
69 assertEquals(messageContext.getRequest(), result);
70 }
71
72 @Test
73 public void resolveSoapEnvelopeSaaj() throws Exception {
74 MessageContext messageContext = createSaajMessageContext();
75
76 Object result = resolver.resolveArgument(messageContext, soapEnvelopeParameter);
77
78 assertEquals(((SoapMessage)messageContext.getRequest()).getEnvelope(), result);
79 }
80
81 @Test
82 public void resolveSoapBodySaaj() throws Exception {
83 MessageContext messageContext = createSaajMessageContext();
84
85 Object result = resolver.resolveArgument(messageContext, soapBodyParameter);
86
87 assertEquals(((SoapMessage)messageContext.getRequest()).getSoapBody(), result);
88 }
89
90 @Test
91 public void resolveSoapHeaderSaaj() throws Exception {
92 MessageContext messageContext = createSaajMessageContext();
93
94 Object result = resolver.resolveArgument(messageContext, soapHeaderParameter);
95
96 assertEquals(((SoapMessage)messageContext.getRequest()).getSoapHeader(), result);
97 }
98
99 public void soapMessage(SoapMessage soapMessage) {
100
101 }
102
103 public void soapEnvelope(SoapEnvelope soapEnvelope) {
104 }
105
106 public void soapBody(SoapBody soapBody) {
107 }
108
109 public void soapHeader(SoapHeader soapHeader) {
110 }
111 }