Fixed tests, polsihing up poms
This commit is contained in:
@@ -93,12 +93,6 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-support</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
||||
@@ -18,8 +18,6 @@ package org.springframework.ws.server;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.easymock.MockControl;
|
||||
import org.springframework.context.support.StaticApplicationContext;
|
||||
import org.springframework.ws.MockWebServiceMessage;
|
||||
import org.springframework.ws.NoEndpointFoundException;
|
||||
@@ -30,76 +28,84 @@ import org.springframework.ws.server.endpoint.adapter.PayloadEndpointAdapter;
|
||||
import org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping;
|
||||
import org.springframework.ws.soap.server.endpoint.SimpleSoapExceptionResolver;
|
||||
|
||||
public class MessageDispatcherTest extends TestCase {
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.easymock.EasyMock.*;
|
||||
|
||||
public class MessageDispatcherTest {
|
||||
|
||||
private MessageDispatcher dispatcher;
|
||||
|
||||
private MessageContext messageContext;
|
||||
|
||||
private MockControl factoryControl;
|
||||
|
||||
private WebServiceMessageFactory factoryMock;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
dispatcher = new MessageDispatcher();
|
||||
factoryControl = MockControl.createControl(WebServiceMessageFactory.class);
|
||||
factoryMock = (WebServiceMessageFactory) factoryControl.getMock();
|
||||
factoryMock = createMock(WebServiceMessageFactory.class);
|
||||
messageContext = new DefaultMessageContext(new MockWebServiceMessage(), factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpoint() throws Exception {
|
||||
MockControl mappingControl = MockControl.createControl(EndpointMapping.class);
|
||||
EndpointMapping mappingMock = (EndpointMapping) mappingControl.getMock();
|
||||
EndpointMapping mappingMock = createMock(EndpointMapping.class);
|
||||
dispatcher.setEndpointMappings(Collections.singletonList(mappingMock));
|
||||
|
||||
EndpointInvocationChain chain = new EndpointInvocationChain(new Object());
|
||||
|
||||
mappingControl.expectAndReturn(mappingMock.getEndpoint(messageContext), chain);
|
||||
expect(mappingMock.getEndpoint(messageContext)).andReturn(chain);
|
||||
|
||||
replay(mappingMock, factoryMock);
|
||||
|
||||
mappingControl.replay();
|
||||
factoryControl.replay();
|
||||
EndpointInvocationChain result = dispatcher.getEndpoint(messageContext);
|
||||
mappingControl.verify();
|
||||
factoryControl.verify();
|
||||
assertEquals("getEndpoint returns invalid EndpointInvocationChain", chain, result);
|
||||
|
||||
verify(mappingMock, factoryMock);
|
||||
|
||||
Assert.assertEquals("getEndpoint returns invalid EndpointInvocationChain", chain, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointAdapterSupportedEndpoint() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
Object endpoint = new Object();
|
||||
adapterControl.expectAndReturn(adapterMock.supports(endpoint), true);
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
expect(adapterMock.supports(endpoint)).andReturn(true);
|
||||
|
||||
replay(adapterMock, factoryMock);
|
||||
|
||||
EndpointAdapter result = dispatcher.getEndpointAdapter(endpoint);
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
assertEquals("getEnpointAdapter returns invalid EndpointAdapter", adapterMock, result);
|
||||
|
||||
verify(adapterMock, factoryMock);
|
||||
|
||||
Assert.assertEquals("getEnpointAdapter returns invalid EndpointAdapter", adapterMock, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetEndpointAdapterUnsupportedEndpoint() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
Object endpoint = new Object();
|
||||
adapterControl.expectAndReturn(adapterMock.supports(endpoint), false);
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
expect(adapterMock.supports(endpoint)).andReturn(false);
|
||||
|
||||
replay(adapterMock, factoryMock);
|
||||
|
||||
try {
|
||||
dispatcher.getEndpointAdapter(endpoint);
|
||||
fail("getEndpointAdapter does not throw IllegalStateException for unsupported endpoint");
|
||||
Assert.fail("getEndpointAdapter does not throw IllegalStateException for unsupported endpoint");
|
||||
}
|
||||
catch (IllegalStateException ex) {
|
||||
// Expected
|
||||
}
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
|
||||
verify(adapterMock, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveException() throws Exception {
|
||||
final Exception ex = new Exception();
|
||||
EndpointMapping endpointMapping = new EndpointMapping() {
|
||||
@@ -114,269 +120,243 @@ public class MessageDispatcherTest extends TestCase {
|
||||
public boolean resolveException(MessageContext givenMessageContext,
|
||||
Object givenEndpoint,
|
||||
Exception givenException) {
|
||||
assertEquals("Invalid message context", messageContext, givenMessageContext);
|
||||
assertNull("Invalid endpoint", givenEndpoint);
|
||||
assertEquals("Invalid exception", ex, givenException);
|
||||
Assert.assertEquals("Invalid message context", messageContext, givenMessageContext);
|
||||
Assert.assertNull("Invalid endpoint", givenEndpoint);
|
||||
Assert.assertEquals("Invalid exception", ex, givenException);
|
||||
givenMessageContext.getResponse();
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
dispatcher.setEndpointExceptionResolvers(Collections.singletonList(resolver));
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), new MockWebServiceMessage());
|
||||
factoryControl.replay();
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(new MockWebServiceMessage());
|
||||
|
||||
replay(factoryMock);
|
||||
|
||||
dispatcher.dispatch(messageContext);
|
||||
assertNotNull("processEndpointException sets no response", messageContext.getResponse());
|
||||
factoryControl.verify();
|
||||
Assert.assertNotNull("processEndpointException sets no response", messageContext.getResponse());
|
||||
|
||||
verify(factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProcessUnsupportedEndpointException() throws Exception {
|
||||
MockControl resolverControl = MockControl.createControl(EndpointExceptionResolver.class);
|
||||
EndpointExceptionResolver resolverMock = (EndpointExceptionResolver) resolverControl.getMock();
|
||||
EndpointExceptionResolver resolverMock = createMock(EndpointExceptionResolver.class);
|
||||
dispatcher.setEndpointExceptionResolvers(Collections.singletonList(resolverMock));
|
||||
|
||||
Object endpoint = new Object();
|
||||
Exception ex = new Exception();
|
||||
|
||||
resolverControl.expectAndReturn(resolverMock.resolveException(messageContext, endpoint, ex), false);
|
||||
expect(resolverMock.resolveException(messageContext, endpoint, ex)).andReturn(false);
|
||||
|
||||
replay(factoryMock, resolverMock);
|
||||
|
||||
resolverControl.replay();
|
||||
try {
|
||||
dispatcher.processEndpointException(messageContext, endpoint, ex);
|
||||
}
|
||||
catch (Exception result) {
|
||||
assertEquals("processEndpointException throws invalid exception", ex, result);
|
||||
Assert.assertEquals("processEndpointException throws invalid exception", ex, result);
|
||||
}
|
||||
resolverControl.verify();
|
||||
verify(factoryMock, resolverMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNormalFlow() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
Object endpoint = new Object();
|
||||
adapterControl.expectAndReturn(adapterMock.supports(endpoint), true);
|
||||
expect(adapterMock.supports(endpoint)).andReturn(true);
|
||||
|
||||
MockControl mappingControl = MockControl.createControl(EndpointMapping.class);
|
||||
EndpointMapping mappingMock = (EndpointMapping) mappingControl.getMock();
|
||||
EndpointMapping mappingMock = createMock(EndpointMapping.class);
|
||||
dispatcher.setEndpointMappings(Collections.singletonList(mappingMock));
|
||||
|
||||
MockControl interceptorControl = MockControl.createStrictControl(EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock1 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock2 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock1 = createMock("interceptor1", EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock2 = createMock("interceptor2", EndpointInterceptor.class);
|
||||
|
||||
expect(interceptorMock1.handleRequest(messageContext, endpoint)).andReturn(true);
|
||||
expect(interceptorMock2.handleRequest(messageContext, endpoint)).andReturn(true);
|
||||
|
||||
interceptorControl.expectAndReturn(interceptorMock1.handleRequest(messageContext, endpoint), true);
|
||||
interceptorControl.expectAndReturn(interceptorMock2.handleRequest(messageContext, endpoint), true);
|
||||
adapterMock.invoke(messageContext, endpoint);
|
||||
interceptorControl.expectAndReturn(interceptorMock2.handleResponse(messageContext, endpoint), true);
|
||||
interceptorControl.expectAndReturn(interceptorMock1.handleResponse(messageContext, endpoint), true);
|
||||
|
||||
expect(interceptorMock2.handleResponse(messageContext, endpoint)).andReturn(true);
|
||||
expect(interceptorMock1.handleResponse(messageContext, endpoint)).andReturn(true);
|
||||
|
||||
EndpointInvocationChain chain =
|
||||
new EndpointInvocationChain(endpoint, new EndpointInterceptor[]{interceptorMock1, interceptorMock2});
|
||||
|
||||
mappingControl.expectAndReturn(mappingMock.getEndpoint(messageContext), chain);
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), new MockWebServiceMessage());
|
||||
expect(mappingMock.getEndpoint(messageContext)).andReturn(chain);
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(new MockWebServiceMessage());
|
||||
|
||||
replay(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
|
||||
mappingControl.replay();
|
||||
interceptorControl.replay();
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
// response required for interceptor invocation
|
||||
messageContext.getResponse();
|
||||
dispatcher.dispatch(messageContext);
|
||||
|
||||
mappingControl.verify();
|
||||
interceptorControl.verify();
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
verify(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFlowNoResponse() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
Object endpoint = new Object();
|
||||
adapterControl.expectAndReturn(adapterMock.supports(endpoint), true);
|
||||
expect(adapterMock.supports(endpoint)).andReturn(true);
|
||||
|
||||
MockControl mappingControl = MockControl.createControl(EndpointMapping.class);
|
||||
EndpointMapping mappingMock = (EndpointMapping) mappingControl.getMock();
|
||||
EndpointMapping mappingMock = createMock(EndpointMapping.class);
|
||||
dispatcher.setEndpointMappings(Collections.singletonList(mappingMock));
|
||||
|
||||
MockControl interceptorControl = MockControl.createStrictControl(EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock1 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock2 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock1 = createMock("interceptor1", EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock2 = createMock("interceptor2", EndpointInterceptor.class);
|
||||
|
||||
EndpointInvocationChain chain =
|
||||
new EndpointInvocationChain(endpoint, new EndpointInterceptor[]{interceptorMock1, interceptorMock2});
|
||||
mappingControl.expectAndReturn(mappingMock.getEndpoint(messageContext), chain);
|
||||
expect(mappingMock.getEndpoint(messageContext)).andReturn(chain);
|
||||
|
||||
expect(interceptorMock1.handleRequest(messageContext, endpoint)).andReturn(true);
|
||||
expect(interceptorMock2.handleRequest(messageContext, endpoint)).andReturn(true);
|
||||
|
||||
interceptorControl.expectAndReturn(interceptorMock1.handleRequest(messageContext, endpoint), true);
|
||||
interceptorControl.expectAndReturn(interceptorMock2.handleRequest(messageContext, endpoint), true);
|
||||
adapterMock.invoke(messageContext, endpoint);
|
||||
|
||||
mappingControl.replay();
|
||||
interceptorControl.replay();
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
replay(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
|
||||
dispatcher.dispatch(messageContext);
|
||||
|
||||
mappingControl.verify();
|
||||
interceptorControl.verify();
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
verify(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInterceptedRequestFlow() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
MockControl mappingControl = MockControl.createControl(EndpointMapping.class);
|
||||
EndpointMapping mappingMock = (EndpointMapping) mappingControl.getMock();
|
||||
EndpointMapping mappingMock = createMock(EndpointMapping.class);
|
||||
dispatcher.setEndpointMappings(Collections.singletonList(mappingMock));
|
||||
|
||||
MockControl interceptorControl = MockControl.createStrictControl(EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock1 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock2 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock1 = createMock("interceptor1", EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock2 = createMock("interceptor2", EndpointInterceptor.class);
|
||||
|
||||
Object endpoint = new Object();
|
||||
interceptorControl.expectAndReturn(interceptorMock1.handleRequest(messageContext, endpoint), false);
|
||||
interceptorControl.expectAndReturn(interceptorMock1.handleResponse(messageContext, endpoint), true);
|
||||
|
||||
expect(interceptorMock1.handleRequest(messageContext, endpoint)).andReturn(false);
|
||||
expect(interceptorMock1.handleResponse(messageContext, endpoint)).andReturn(true);
|
||||
|
||||
EndpointInvocationChain chain =
|
||||
new EndpointInvocationChain(endpoint, new EndpointInterceptor[]{interceptorMock1, interceptorMock2});
|
||||
|
||||
mappingControl.expectAndReturn(mappingMock.getEndpoint(messageContext), chain);
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), new MockWebServiceMessage());
|
||||
expect(mappingMock.getEndpoint(messageContext)).andReturn(chain);
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(new MockWebServiceMessage());
|
||||
|
||||
mappingControl.replay();
|
||||
interceptorControl.replay();
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
replay(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
|
||||
// response required for interceptor invocation
|
||||
messageContext.getResponse();
|
||||
|
||||
dispatcher.dispatch(messageContext);
|
||||
|
||||
mappingControl.verify();
|
||||
interceptorControl.verify();
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
verify(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInterceptedResponseFlow() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
MockControl mappingControl = MockControl.createControl(EndpointMapping.class);
|
||||
EndpointMapping mappingMock = (EndpointMapping) mappingControl.getMock();
|
||||
EndpointMapping mappingMock = createMock(EndpointMapping.class);
|
||||
dispatcher.setEndpointMappings(Collections.singletonList(mappingMock));
|
||||
|
||||
MockControl interceptorControl = MockControl.createStrictControl(EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock1 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock2 = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock1 = createMock("interceptor1", EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock2 = createMock("interceptor2", EndpointInterceptor.class);
|
||||
|
||||
Object endpoint = new Object();
|
||||
interceptorControl.expectAndReturn(interceptorMock1.handleRequest(messageContext, endpoint), true);
|
||||
interceptorControl.expectAndReturn(interceptorMock2.handleRequest(messageContext, endpoint), false);
|
||||
interceptorControl.expectAndReturn(interceptorMock2.handleResponse(messageContext, endpoint), false);
|
||||
expect(interceptorMock1.handleRequest(messageContext, endpoint)).andReturn(true);
|
||||
expect(interceptorMock2.handleRequest(messageContext, endpoint)).andReturn(false);
|
||||
expect(interceptorMock2.handleResponse(messageContext, endpoint)).andReturn(false);
|
||||
|
||||
EndpointInvocationChain chain =
|
||||
new EndpointInvocationChain(endpoint, new EndpointInterceptor[]{interceptorMock1, interceptorMock2});
|
||||
|
||||
mappingControl.expectAndReturn(mappingMock.getEndpoint(messageContext), chain);
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), new MockWebServiceMessage());
|
||||
expect(mappingMock.getEndpoint(messageContext)).andReturn(chain);
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(new MockWebServiceMessage());
|
||||
|
||||
replay(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
|
||||
mappingControl.replay();
|
||||
interceptorControl.replay();
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
// response required for interceptor invocation
|
||||
messageContext.getResponse();
|
||||
|
||||
dispatcher.dispatch(messageContext);
|
||||
|
||||
mappingControl.verify();
|
||||
interceptorControl.verify();
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
verify(mappingMock, interceptorMock1, interceptorMock2, adapterMock, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFaultFlow() throws Exception {
|
||||
MockControl adapterControl = MockControl.createControl(EndpointAdapter.class);
|
||||
EndpointAdapter adapterMock = (EndpointAdapter) adapterControl.getMock();
|
||||
EndpointAdapter adapterMock = createMock(EndpointAdapter.class);
|
||||
dispatcher.setEndpointAdapters(Collections.singletonList(adapterMock));
|
||||
|
||||
Object endpoint = new Object();
|
||||
adapterControl.expectAndReturn(adapterMock.supports(endpoint), true);
|
||||
expect(adapterMock.supports(endpoint)).andReturn(true);
|
||||
|
||||
MockControl mappingControl = MockControl.createControl(EndpointMapping.class);
|
||||
EndpointMapping mappingMock = (EndpointMapping) mappingControl.getMock();
|
||||
EndpointMapping mappingMock = createMock(EndpointMapping.class);
|
||||
dispatcher.setEndpointMappings(Collections.singletonList(mappingMock));
|
||||
|
||||
MockControl interceptorControl = MockControl.createStrictControl(EndpointInterceptor.class);
|
||||
EndpointInterceptor interceptorMock = (EndpointInterceptor) interceptorControl.getMock();
|
||||
EndpointInterceptor interceptorMock = createMock(EndpointInterceptor.class);
|
||||
|
||||
interceptorControl.expectAndReturn(interceptorMock.handleRequest(messageContext, endpoint), true);
|
||||
expect(interceptorMock.handleRequest(messageContext, endpoint)).andReturn(true);
|
||||
adapterMock.invoke(messageContext, endpoint);
|
||||
interceptorControl.expectAndReturn(interceptorMock.handleFault(messageContext, endpoint), true);
|
||||
expect(interceptorMock.handleFault(messageContext, endpoint)).andReturn(true);
|
||||
|
||||
EndpointInvocationChain chain =
|
||||
new EndpointInvocationChain(endpoint, new EndpointInterceptor[]{interceptorMock});
|
||||
|
||||
mappingControl.expectAndReturn(mappingMock.getEndpoint(messageContext), chain);
|
||||
expect(mappingMock.getEndpoint(messageContext)).andReturn(chain);
|
||||
MockWebServiceMessage response = new MockWebServiceMessage();
|
||||
response.setFault(true);
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), response);
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(response);
|
||||
|
||||
replay(mappingMock, interceptorMock, adapterMock, factoryMock);
|
||||
|
||||
mappingControl.replay();
|
||||
interceptorControl.replay();
|
||||
adapterControl.replay();
|
||||
factoryControl.replay();
|
||||
// response required for interceptor invocation
|
||||
messageContext.getResponse();
|
||||
dispatcher.dispatch(messageContext);
|
||||
|
||||
mappingControl.verify();
|
||||
interceptorControl.verify();
|
||||
adapterControl.verify();
|
||||
factoryControl.verify();
|
||||
verify(mappingMock, interceptorMock, adapterMock, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoEndpointFound() throws Exception {
|
||||
dispatcher.setEndpointMappings(Collections.EMPTY_LIST);
|
||||
dispatcher.setEndpointMappings(Collections.<EndpointMapping>emptyList());
|
||||
try {
|
||||
dispatcher.receive(messageContext);
|
||||
fail("NoEndpointFoundException expected");
|
||||
Assert.fail("NoEndpointFoundException expected");
|
||||
}
|
||||
catch (NoEndpointFoundException ex) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDetectStrategies() throws Exception {
|
||||
StaticApplicationContext applicationContext = new StaticApplicationContext();
|
||||
applicationContext.registerSingleton("mapping", PayloadRootQNameEndpointMapping.class);
|
||||
applicationContext.registerSingleton("adapter", PayloadEndpointAdapter.class);
|
||||
applicationContext.registerSingleton("resolver", SimpleSoapExceptionResolver.class);
|
||||
dispatcher.setApplicationContext(applicationContext);
|
||||
assertEquals("Invalid amount of mappings detected", 1, dispatcher.getEndpointMappings().size());
|
||||
assertTrue("Invalid mappings detected",
|
||||
Assert.assertEquals("Invalid amount of mappings detected", 1, dispatcher.getEndpointMappings().size());
|
||||
Assert.assertTrue("Invalid mappings detected",
|
||||
dispatcher.getEndpointMappings().get(0) instanceof PayloadRootQNameEndpointMapping);
|
||||
assertEquals("Invalid amount of adapters detected", 1, dispatcher.getEndpointAdapters().size());
|
||||
assertTrue("Invalid mappings detected",
|
||||
Assert.assertEquals("Invalid amount of adapters detected", 1, dispatcher.getEndpointAdapters().size());
|
||||
Assert.assertTrue("Invalid mappings detected",
|
||||
dispatcher.getEndpointAdapters().get(0) instanceof PayloadEndpointAdapter);
|
||||
assertEquals("Invalid amount of resolvers detected", 1, dispatcher.getEndpointExceptionResolvers().size());
|
||||
assertTrue("Invalid mappings detected",
|
||||
Assert.assertEquals("Invalid amount of resolvers detected", 1,
|
||||
dispatcher.getEndpointExceptionResolvers().size());
|
||||
Assert.assertTrue("Invalid mappings detected",
|
||||
dispatcher.getEndpointExceptionResolvers().get(0) instanceof SimpleSoapExceptionResolver);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultStrategies() throws Exception {
|
||||
StaticApplicationContext applicationContext = new StaticApplicationContext();
|
||||
dispatcher.setApplicationContext(applicationContext);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006 the original author or authors.
|
||||
* Copyright 2005-2010 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -30,15 +30,16 @@ import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.sax.SAXSource;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
|
||||
import org.custommonkey.xmlunit.XMLTestCase;
|
||||
import org.springframework.xml.transform.StaxSource;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.w3c.dom.Document;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLReaderFactory;
|
||||
|
||||
import org.springframework.xml.transform.StaxSource;
|
||||
|
||||
public abstract class AbstractEndpointTestCase extends XMLTestCase {
|
||||
@SuppressWarnings("Since15")
|
||||
public abstract class AbstractEndpointTestCase {
|
||||
|
||||
protected static final String NAMESPACE_URI = "http://springframework.org/ws";
|
||||
|
||||
@@ -50,6 +51,7 @@ public abstract class AbstractEndpointTestCase extends XMLTestCase {
|
||||
|
||||
protected static final String RESPONSE = "<" + RESPONSE_ELEMENT + " xmlns=\"" + NAMESPACE_URI + "\"/>";
|
||||
|
||||
@Test
|
||||
public void testDomSource() throws Exception {
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
documentBuilderFactory.setNamespaceAware(true);
|
||||
@@ -58,29 +60,34 @@ public abstract class AbstractEndpointTestCase extends XMLTestCase {
|
||||
testSource(new DOMSource(requestDocument.getDocumentElement()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaxSource() throws Exception {
|
||||
XMLReader reader = XMLReaderFactory.createXMLReader();
|
||||
InputSource inputSource = new InputSource(new StringReader(REQUEST));
|
||||
testSource(new SAXSource(reader, inputSource));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStaxSourceEventReader() throws Exception {
|
||||
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
|
||||
XMLEventReader eventReader = inputFactory.createXMLEventReader(new StringReader(REQUEST));
|
||||
testSource(new StaxSource(eventReader));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStaxSourceStreamReader() throws Exception {
|
||||
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
|
||||
XMLStreamReader streamReader = inputFactory.createXMLStreamReader(new StringReader(REQUEST));
|
||||
testSource(new StaxSource(streamReader));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStreamSourceInputStream() throws Exception {
|
||||
InputStream is = new ByteArrayInputStream(REQUEST.getBytes("UTF-8"));
|
||||
testSource(new StreamSource(is));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStreamSourceReader() throws Exception {
|
||||
Reader reader = new StringReader(REQUEST);
|
||||
testSource(new StreamSource(reader));
|
||||
|
||||
@@ -24,15 +24,23 @@ import org.springframework.ws.context.DefaultMessageContext;
|
||||
import org.springframework.ws.context.MessageContext;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public abstract class AbstractMessageEndpointTestCase extends AbstractEndpointTestCase {
|
||||
|
||||
private MessageEndpoint endpoint;
|
||||
|
||||
@Override
|
||||
protected final void setUp() throws Exception {
|
||||
@Before
|
||||
public void createEndpoint() throws Exception {
|
||||
endpoint = createResponseEndpoint();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoResponse() throws Exception {
|
||||
endpoint = createNoResponseEndpoint();
|
||||
StringSource requestSource = new StringSource(REQUEST);
|
||||
@@ -43,6 +51,7 @@ public abstract class AbstractMessageEndpointTestCase extends AbstractEndpointTe
|
||||
assertFalse("Response message created", context.hasResponse());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoRequestPayload() throws Exception {
|
||||
endpoint = createNoRequestPayloadEndpoint();
|
||||
|
||||
|
||||
@@ -23,18 +23,26 @@ import javax.xml.transform.TransformerFactory;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
public abstract class AbstractPayloadEndpointTestCase extends AbstractEndpointTestCase {
|
||||
|
||||
private PayloadEndpoint endpoint;
|
||||
|
||||
private Transformer transformer;
|
||||
|
||||
@Override
|
||||
protected final void setUp() throws Exception {
|
||||
@Before
|
||||
public void createEndpoint() throws Exception {
|
||||
endpoint = createResponseEndpoint();
|
||||
transformer = TransformerFactory.newInstance().newTransformer();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoResponse() throws Exception {
|
||||
endpoint = createNoResponseEndpoint();
|
||||
StringSource requestSource = new StringSource(REQUEST);
|
||||
@@ -42,6 +50,7 @@ public abstract class AbstractPayloadEndpointTestCase extends AbstractEndpointTe
|
||||
assertNull("Response source returned", resultSource);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoRequest() throws Exception {
|
||||
endpoint = createNoRequestEndpoint();
|
||||
Source resultSource = endpoint.invoke(null);
|
||||
|
||||
@@ -19,6 +19,8 @@ package org.springframework.ws.server.endpoint;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.Element;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class Dom4jPayloadEndpointTest extends AbstractPayloadEndpointTestCase {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,6 +19,8 @@ package org.springframework.ws.server.endpoint;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class DomPayloadEndpointTest extends AbstractPayloadEndpointTestCase {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,27 +16,28 @@
|
||||
|
||||
package org.springframework.ws.server.endpoint;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.springframework.ws.context.MessageContext;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* Test for AbstractEndpointExceptionResolver
|
||||
*
|
||||
* @author Tareq Abed Rabbo
|
||||
* @author Arjen Poutsma
|
||||
*/
|
||||
public class EndpointExceptionResolverTest extends TestCase {
|
||||
public class EndpointExceptionResolverTest {
|
||||
|
||||
private MethodEndpoint methodEndpoint;
|
||||
|
||||
private AbstractEndpointExceptionResolver exceptionResolver;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
exceptionResolver = new AbstractEndpointExceptionResolver() {
|
||||
|
||||
@Override
|
||||
@@ -45,15 +46,14 @@ public class EndpointExceptionResolverTest extends TestCase {
|
||||
}
|
||||
};
|
||||
|
||||
Set mappedEndpoints = new HashSet();
|
||||
mappedEndpoints.add(this);
|
||||
exceptionResolver.setMappedEndpoints(mappedEndpoints);
|
||||
exceptionResolver.setMappedEndpoints(Collections.singleton(this));
|
||||
methodEndpoint = new MethodEndpoint(this, getClass().getMethod("emptyMethod", new Class[0]));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMatchMethodEndpoint() {
|
||||
boolean matched = exceptionResolver.resolveException(null, methodEndpoint, null);
|
||||
assertTrue("AbstractEndpointExceptionResolver did not match mapped MethodEndpoint", matched);
|
||||
Assert.assertTrue("AbstractEndpointExceptionResolver did not match mapped MethodEndpoint", matched);
|
||||
}
|
||||
|
||||
public void emptyMethod() {
|
||||
|
||||
@@ -19,6 +19,8 @@ package org.springframework.ws.server.endpoint;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.Namespace;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class JDomPayloadEndpointTest extends AbstractPayloadEndpointTestCase {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,6 +30,7 @@ import javax.xml.transform.stream.StreamSource;
|
||||
import org.springframework.oxm.Marshaller;
|
||||
import org.springframework.oxm.Unmarshaller;
|
||||
import org.springframework.oxm.XmlMappingException;
|
||||
import org.springframework.oxm.mime.MimeContainer;
|
||||
import org.springframework.oxm.mime.MimeMarshaller;
|
||||
import org.springframework.oxm.mime.MimeUnmarshaller;
|
||||
import org.springframework.ws.MockWebServiceMessage;
|
||||
@@ -40,29 +41,32 @@ import org.springframework.ws.mime.MimeMessage;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
import org.custommonkey.xmlunit.XMLTestCase;
|
||||
import org.easymock.MockControl;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
|
||||
import static org.easymock.EasyMock.*;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
public class MarshallingPayloadEndpointTest {
|
||||
|
||||
private Transformer transformer;
|
||||
|
||||
private MessageContext context;
|
||||
|
||||
private MockControl factoryControl;
|
||||
|
||||
private WebServiceMessageFactory factoryMock;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
MockWebServiceMessage request = new MockWebServiceMessage("<request/>");
|
||||
transformer = TransformerFactory.newInstance().newTransformer();
|
||||
factoryControl = MockControl.createControl(WebServiceMessageFactory.class);
|
||||
factoryMock = (WebServiceMessageFactory) factoryControl.getMock();
|
||||
factoryMock = createMock(WebServiceMessageFactory.class);
|
||||
|
||||
context = new DefaultMessageContext(request, factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvoke() throws Exception {
|
||||
Unmarshaller unmarshaller = new SimpleMarshaller() {
|
||||
@Override
|
||||
@@ -74,7 +78,7 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
return 42L;
|
||||
}
|
||||
catch (Exception e) {
|
||||
fail(e.getMessage());
|
||||
Assert.fail(e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -82,19 +86,19 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
Marshaller marshaller = new SimpleMarshaller() {
|
||||
@Override
|
||||
public void marshal(Object graph, Result result) throws XmlMappingException {
|
||||
assertEquals("Invalid graph", "result", graph);
|
||||
Assert.assertEquals("Invalid graph", "result", graph);
|
||||
try {
|
||||
transformer.transform(new StreamSource(new StringReader("<result/>")), result);
|
||||
}
|
||||
catch (TransformerException e) {
|
||||
fail(e.getMessage());
|
||||
Assert.fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
};
|
||||
AbstractMarshallingPayloadEndpoint endpoint = new AbstractMarshallingPayloadEndpoint() {
|
||||
@Override
|
||||
protected Object invokeInternal(Object requestObject) throws Exception {
|
||||
assertEquals("Invalid request object", 42L, requestObject);
|
||||
Assert.assertEquals("Invalid request object", 42L, requestObject);
|
||||
return "result";
|
||||
}
|
||||
};
|
||||
@@ -102,17 +106,19 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
endpoint.setUnmarshaller(unmarshaller);
|
||||
endpoint.afterPropertiesSet();
|
||||
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), new MockWebServiceMessage());
|
||||
factoryControl.replay();
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(new MockWebServiceMessage());
|
||||
|
||||
replay(factoryMock);
|
||||
|
||||
endpoint.invoke(context);
|
||||
MockWebServiceMessage response = (MockWebServiceMessage) context.getResponse();
|
||||
assertNotNull("Invalid result", response);
|
||||
Assert.assertNotNull("Invalid result", response);
|
||||
assertXMLEqual("Invalid response", "<result/>", response.getPayloadAsString());
|
||||
|
||||
factoryControl.verify();
|
||||
verify(factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvokeNullResponse() throws Exception {
|
||||
Unmarshaller unmarshaller = new SimpleMarshaller() {
|
||||
@Override
|
||||
@@ -121,10 +127,10 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
StringWriter writer = new StringWriter();
|
||||
transformer.transform(source, new StreamResult(writer));
|
||||
assertXMLEqual("Invalid source", "<request/>", writer.toString());
|
||||
return new Long(42);
|
||||
return (long) 42;
|
||||
}
|
||||
catch (Exception e) {
|
||||
fail(e.getMessage());
|
||||
Assert.fail(e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -132,25 +138,26 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
Marshaller marshaller = new SimpleMarshaller() {
|
||||
@Override
|
||||
public void marshal(Object graph, Result result) throws XmlMappingException {
|
||||
fail("marshal not expected");
|
||||
Assert.fail("marshal not expected");
|
||||
}
|
||||
};
|
||||
AbstractMarshallingPayloadEndpoint endpoint = new AbstractMarshallingPayloadEndpoint() {
|
||||
@Override
|
||||
protected Object invokeInternal(Object requestObject) throws Exception {
|
||||
assertEquals("Invalid request object", new Long(42), requestObject);
|
||||
Assert.assertEquals("Invalid request object", (long) 42, requestObject);
|
||||
return null;
|
||||
}
|
||||
};
|
||||
endpoint.setMarshaller(marshaller);
|
||||
endpoint.setUnmarshaller(unmarshaller);
|
||||
endpoint.afterPropertiesSet();
|
||||
factoryControl.replay();
|
||||
replay(factoryMock);
|
||||
endpoint.invoke(context);
|
||||
assertFalse("Response created", context.hasResponse());
|
||||
factoryControl.verify();
|
||||
Assert.assertFalse("Response created", context.hasResponse());
|
||||
verify(factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvokeNoRequest() throws Exception {
|
||||
MockWebServiceMessage request = new MockWebServiceMessage((StringBuffer) null);
|
||||
context = new DefaultMessageContext(request, factoryMock);
|
||||
@@ -158,47 +165,39 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
|
||||
@Override
|
||||
protected Object invokeInternal(Object requestObject) throws Exception {
|
||||
assertNull("No request expected", requestObject);
|
||||
Assert.assertNull("No request expected", requestObject);
|
||||
return null;
|
||||
}
|
||||
};
|
||||
endpoint.setMarshaller(new SimpleMarshaller());
|
||||
endpoint.setUnmarshaller(new SimpleMarshaller());
|
||||
endpoint.afterPropertiesSet();
|
||||
factoryControl.replay();
|
||||
replay(factoryMock);
|
||||
endpoint.invoke(context);
|
||||
assertFalse("Response created", context.hasResponse());
|
||||
factoryControl.verify();
|
||||
Assert.assertFalse("Response created", context.hasResponse());
|
||||
verify(factoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvokeMimeMarshaller() throws Exception {
|
||||
MockControl unmarshallerControl = MockControl.createControl(MimeUnmarshaller.class);
|
||||
MimeUnmarshaller unmarshaller = (MimeUnmarshaller) unmarshallerControl.getMock();
|
||||
MockControl marshallerControl = MockControl.createControl(MimeMarshaller.class);
|
||||
MimeMarshaller marshaller = (MimeMarshaller) marshallerControl.getMock();
|
||||
MockControl messageControl = MockControl.createControl(MimeMessage.class);
|
||||
MimeMessage request = (MimeMessage) messageControl.getMock();
|
||||
MimeMessage response = (MimeMessage) messageControl.getMock();
|
||||
MimeUnmarshaller unmarshaller = createMock(MimeUnmarshaller.class);
|
||||
MimeMarshaller marshaller = createMock(MimeMarshaller.class);
|
||||
MimeMessage request = createMock("request", MimeMessage.class);
|
||||
MimeMessage response = createMock("response", MimeMessage.class);
|
||||
Source requestSource = new StringSource("<request/>");
|
||||
messageControl.expectAndReturn(request.getPayloadSource(), requestSource);
|
||||
factoryControl.expectAndReturn(factoryMock.createWebServiceMessage(), response);
|
||||
unmarshaller.unmarshal(requestSource, null);
|
||||
unmarshallerControl.setMatcher(MockControl.ALWAYS_MATCHER);
|
||||
unmarshallerControl.setReturnValue(new Long(42));
|
||||
expect(request.getPayloadSource()).andReturn(requestSource);
|
||||
expect(factoryMock.createWebServiceMessage()).andReturn(response);
|
||||
expect(unmarshaller.unmarshal(eq(requestSource), isA(MimeContainer.class))).andReturn(42L);
|
||||
Result responseResult = new StringResult();
|
||||
messageControl.expectAndReturn(response.getPayloadResult(), responseResult);
|
||||
marshaller.marshal("result", responseResult, null);
|
||||
marshallerControl.setMatcher(MockControl.ALWAYS_MATCHER);
|
||||
expect(response.getPayloadResult()).andReturn(responseResult);
|
||||
marshaller.marshal(eq("result"), eq(responseResult), isA(MimeContainer.class));
|
||||
|
||||
factoryControl.replay();
|
||||
unmarshallerControl.replay();
|
||||
marshallerControl.replay();
|
||||
messageControl.replay();
|
||||
replay(factoryMock, unmarshaller, marshaller, request, response);
|
||||
|
||||
AbstractMarshallingPayloadEndpoint endpoint = new AbstractMarshallingPayloadEndpoint() {
|
||||
@Override
|
||||
protected Object invokeInternal(Object requestObject) throws Exception {
|
||||
assertEquals("Invalid request object", new Long(42), requestObject);
|
||||
Assert.assertEquals("Invalid request object", 42L, requestObject);
|
||||
return "result";
|
||||
}
|
||||
};
|
||||
@@ -208,12 +207,9 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
|
||||
context = new DefaultMessageContext(request, factoryMock);
|
||||
endpoint.invoke(context);
|
||||
assertNotNull("Invalid result", response);
|
||||
Assert.assertNotNull("Invalid result", response);
|
||||
|
||||
factoryControl.verify();
|
||||
unmarshallerControl.verify();
|
||||
marshallerControl.verify();
|
||||
messageControl.verify();
|
||||
verify(factoryMock, unmarshaller, marshaller, request, response);
|
||||
}
|
||||
|
||||
private static class SimpleMarshaller implements Marshaller, Unmarshaller {
|
||||
@@ -227,7 +223,7 @@ public class MarshallingPayloadEndpointTest extends XMLTestCase {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean supports(Class clazz) {
|
||||
public boolean supports(Class<?> clazz) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,11 @@ package org.springframework.ws.server.endpoint;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class MethodEndpointTest extends TestCase {
|
||||
public class MethodEndpointTest {
|
||||
|
||||
private MethodEndpoint endpoint;
|
||||
|
||||
@@ -28,43 +30,48 @@ public class MethodEndpointTest extends TestCase {
|
||||
|
||||
private Method method;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
myMethodInvoked = false;
|
||||
method = getClass().getMethod("myMethod", new Class[]{String.class});
|
||||
method = getClass().getMethod("myMethod", String.class);
|
||||
endpoint = new MethodEndpoint(this, method);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetters() throws Exception {
|
||||
assertEquals("Invalid bean", this, endpoint.getBean());
|
||||
assertEquals("Invalid bean", method, endpoint.getMethod());
|
||||
Assert.assertEquals("Invalid bean", this, endpoint.getBean());
|
||||
Assert.assertEquals("Invalid bean", method, endpoint.getMethod());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvoke() throws Exception {
|
||||
assertFalse("Method invoked before invocation", myMethodInvoked);
|
||||
Assert.assertFalse("Method invoked before invocation", myMethodInvoked);
|
||||
endpoint.invoke(new Object[]{"arg"});
|
||||
assertTrue("Method invoked before invocation", myMethodInvoked);
|
||||
Assert.assertTrue("Method invoked before invocation", myMethodInvoked);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEquals() throws Exception {
|
||||
assertEquals("Not equal", endpoint, endpoint);
|
||||
assertEquals("Not equal", new MethodEndpoint(this, method), endpoint);
|
||||
Method otherMethod = getClass().getMethod("testEquals", new Class[0]);
|
||||
assertFalse("Equal", new MethodEndpoint(this, otherMethod).equals(endpoint));
|
||||
Assert.assertEquals("Not equal", endpoint, endpoint);
|
||||
Assert.assertEquals("Not equal", new MethodEndpoint(this, method), endpoint);
|
||||
Method otherMethod = getClass().getMethod("testEquals");
|
||||
Assert.assertFalse("Equal", new MethodEndpoint(this, otherMethod).equals(endpoint));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHashCode() throws Exception {
|
||||
assertEquals("Not equal", new MethodEndpoint(this, method).hashCode(), endpoint.hashCode());
|
||||
Method otherMethod = getClass().getMethod("testEquals", new Class[0]);
|
||||
assertFalse("Equal", new MethodEndpoint(this, otherMethod).hashCode() == endpoint.hashCode());
|
||||
Assert.assertEquals("Not equal", new MethodEndpoint(this, method).hashCode(), endpoint.hashCode());
|
||||
Method otherMethod = getClass().getMethod("testEquals");
|
||||
Assert.assertFalse("Equal", new MethodEndpoint(this, otherMethod).hashCode() == endpoint.hashCode());
|
||||
}
|
||||
|
||||
public void myMethod(String arg) {
|
||||
assertEquals("Invalid argument", "arg", arg);
|
||||
Assert.assertEquals("Invalid argument", "arg", arg);
|
||||
myMethodInvoked = true;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToString() throws Exception {
|
||||
assertNotNull("Na valid toString", endpoint.toString());
|
||||
Assert.assertNotNull("Na valid toString", endpoint.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,11 +19,15 @@ package org.springframework.ws.server.endpoint;
|
||||
import javax.xml.transform.Source;
|
||||
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
import org.xml.sax.Attributes;
|
||||
import org.xml.sax.ContentHandler;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.helpers.DefaultHandler;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
public class SaxPayloadEndpointTest extends AbstractPayloadEndpointTestCase {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,11 +25,14 @@ import javax.xml.stream.events.Namespace;
|
||||
import javax.xml.stream.events.XMLEvent;
|
||||
import javax.xml.stream.util.XMLEventConsumer;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Test case for AbstractStaxEventPayloadEndpoint.
|
||||
*
|
||||
* @see AbstractStaxEventPayloadEndpoint
|
||||
*/
|
||||
@SuppressWarnings("Since15")
|
||||
public class StaxEventPayloadEndpointTest extends AbstractMessageEndpointTestCase {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,9 +24,6 @@ import javax.xml.stream.XMLStreamWriter;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
|
||||
import org.apache.axiom.om.OMAbstractFactory;
|
||||
import org.apache.axiom.soap.SOAPFactory;
|
||||
|
||||
import org.springframework.ws.context.DefaultMessageContext;
|
||||
import org.springframework.ws.context.MessageContext;
|
||||
import org.springframework.ws.soap.axiom.AxiomSoapMessage;
|
||||
@@ -36,11 +33,19 @@ import org.springframework.ws.soap.saaj.SaajSoapMessageFactory;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
import org.apache.axiom.om.OMAbstractFactory;
|
||||
import org.apache.axiom.soap.SOAPFactory;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Test case for AbstractStaxStreamPayloadEndpoint.
|
||||
*
|
||||
* @see AbstractStaxStreamPayloadEndpoint
|
||||
*/
|
||||
@SuppressWarnings("Since15")
|
||||
public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTestCase {
|
||||
|
||||
@Override
|
||||
@@ -94,6 +99,7 @@ public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTestCa
|
||||
};
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaajResponse() throws Exception {
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
MessageFactory messageFactory = MessageFactory.newInstance();
|
||||
@@ -111,6 +117,7 @@ public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTestCa
|
||||
assertXMLEqual(RESPONSE, stringResult.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAxiomResponse() throws Exception {
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
SOAPFactory axiomFactory = OMAbstractFactory.getSOAP11Factory();
|
||||
@@ -128,6 +135,7 @@ public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTestCa
|
||||
assertXMLEqual(RESPONSE, stringResult.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAxiomNoResponse() throws Exception {
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
SOAPFactory axiomFactory = OMAbstractFactory.getSOAP11Factory();
|
||||
@@ -142,6 +150,7 @@ public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTestCa
|
||||
assertFalse("context has response", context.hasResponse());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAxiomResponseNoPayloadCaching() throws Exception {
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
SOAPFactory axiomFactory = OMAbstractFactory.getSOAP11Factory();
|
||||
@@ -161,6 +170,7 @@ public class StaxStreamPayloadEndpointTest extends AbstractMessageEndpointTestCa
|
||||
assertXMLEqual(RESPONSE, stringResult.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAxiomNoResponseNoPayloadCaching() throws Exception {
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
SOAPFactory axiomFactory = OMAbstractFactory.getSOAP11Factory();
|
||||
|
||||
@@ -18,6 +18,8 @@ package org.springframework.ws.server.endpoint;
|
||||
|
||||
import nu.xom.Element;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class XomPayloadEndpointTest extends AbstractPayloadEndpointTestCase {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -221,12 +221,6 @@
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
<version>${spring.framework.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>struts</groupId>
|
||||
<artifactId>struts</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
@@ -265,21 +259,11 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- XML handling dependencies -->
|
||||
<dependency>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
<version>2.8.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.xml.stream</groupId>
|
||||
<artifactId>stax-api</artifactId>
|
||||
<version>1.0-2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>xalan</groupId>
|
||||
<artifactId>xalan</artifactId>
|
||||
<version>2.7.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jaxen</groupId>
|
||||
<artifactId>jaxen</artifactId>
|
||||
@@ -550,66 +534,35 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Acegi -->
|
||||
<dependency>
|
||||
<groupId>org.acegisecurity</groupId>
|
||||
<artifactId>acegi-security</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-remoting</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-jdbc</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-support</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>oro</groupId>
|
||||
<artifactId>oro</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.acegisecurity</groupId>
|
||||
<artifactId>acegi-security-tiger</artifactId>
|
||||
<version>1.0.6</version>
|
||||
</dependency>
|
||||
<!-- Spring Security -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-core</artifactId>
|
||||
<version>2.0.5.RELEASE</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-support</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-core-tiger</artifactId>
|
||||
<version>2.0.5.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-core</artifactId>
|
||||
<version>2.0.5.RELEASE</version>
|
||||
<classifier>tests</classifier>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-support</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- JEE dependencies -->
|
||||
<dependency>
|
||||
<groupId>javax.xml.soap</groupId>
|
||||
@@ -665,7 +618,7 @@
|
||||
<version>1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- Transport dependendencies -->
|
||||
<!-- Transport dependencies -->
|
||||
<dependency>
|
||||
<groupId>commons-httpclient</groupId>
|
||||
<artifactId>commons-httpclient</artifactId>
|
||||
|
||||
@@ -103,12 +103,6 @@
|
||||
<groupId>org.apache.ws.security</groupId>
|
||||
<artifactId>wss4j</artifactId>
|
||||
</dependency>
|
||||
<!-- Acegi depdencies -->
|
||||
<dependency>
|
||||
<groupId>org.acegisecurity</groupId>
|
||||
<artifactId>acegi-security</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!-- Spring Security dependencies -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
@@ -121,12 +115,6 @@
|
||||
<artifactId>mail</artifactId>
|
||||
</dependency>
|
||||
<!-- Test dependencies -->
|
||||
<dependency>
|
||||
<groupId>easymock</groupId>
|
||||
<artifactId>easymock</artifactId>
|
||||
<version>1.2_Java1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-core</artifactId>
|
||||
|
||||
@@ -62,12 +62,5 @@
|
||||
<artifactId>XmlSchema</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!-- Test dependencies -->
|
||||
<dependency>
|
||||
<groupId>easymock</groupId>
|
||||
<artifactId>easymock</artifactId>
|
||||
<version>1.2_Java1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -33,7 +33,7 @@ import org.springframework.util.CollectionUtils;
|
||||
* @see #setExpression(String)
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class XPathExpressionFactoryBean implements FactoryBean, InitializingBean {
|
||||
public class XPathExpressionFactoryBean implements FactoryBean<XPathExpression>, InitializingBean {
|
||||
|
||||
private Map<String, String> namespaces;
|
||||
|
||||
@@ -61,11 +61,11 @@ public class XPathExpressionFactoryBean implements FactoryBean, InitializingBean
|
||||
}
|
||||
}
|
||||
|
||||
public Object getObject() throws Exception {
|
||||
public XPathExpression getObject() throws Exception {
|
||||
return expression;
|
||||
}
|
||||
|
||||
public Class<?> getObjectType() {
|
||||
public Class<? extends XPathExpression> getObjectType() {
|
||||
return XPathExpression.class;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user