Fixed tests.

This commit is contained in:
Arjen Poutsma
2010-02-10 15:57:59 +00:00
parent b4fa00032d
commit 8d9b76ed51
5 changed files with 133 additions and 87 deletions

View File

@@ -16,21 +16,24 @@
package org.springframework.ws.server.endpoint.interceptor;
import junit.framework.TestCase;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.spi.LoggingEvent;
import org.springframework.core.io.ClassPathResource;
import org.springframework.ws.MockWebServiceMessage;
import org.springframework.ws.MockWebServiceMessageFactory;
import org.springframework.ws.context.DefaultMessageContext;
import org.springframework.ws.context.MessageContext;
public class PayloadLoggingInterceptorTest extends TestCase {
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.spi.LoggingEvent;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class PayloadLoggingInterceptorTest {
private PayloadLoggingInterceptor interceptor;
@@ -38,8 +41,8 @@ public class PayloadLoggingInterceptorTest extends TestCase {
private MessageContext messageContext;
@Override
protected void setUp() throws Exception {
@Before
public void setUp() throws Exception {
interceptor = new PayloadLoggingInterceptor();
appender = new CountingAppender();
BasicConfigurator.configure(appender);
@@ -49,41 +52,45 @@ public class PayloadLoggingInterceptorTest extends TestCase {
appender.reset();
}
@Override
protected void tearDown() throws Exception {
@After
public void tearDown() throws Exception {
BasicConfigurator.resetConfiguration();
ClassPathResource resource = new ClassPathResource("log4j.properties");
PropertyConfigurator.configure(resource.getURL());
}
@Test
public void testHandleRequestDisabled() throws Exception {
interceptor.setLogRequest(false);
int eventCount = appender.getCount();
interceptor.handleRequest(messageContext, null);
assertEquals("PayloadLoggingInterceptor logged when disabled", appender.getCount(), eventCount);
Assert.assertEquals("PayloadLoggingInterceptor logged when disabled", appender.getCount(), eventCount);
}
@Test
public void testHandleRequestEnabled() throws Exception {
int eventCount = appender.getCount();
interceptor.handleRequest(messageContext, null);
assertTrue("PayloadLoggingInterceptor did not log", appender.getCount() > eventCount);
Assert.assertTrue("PayloadLoggingInterceptor did not log", appender.getCount() > eventCount);
}
@Test
public void testHandleResponseDisabled() throws Exception {
MockWebServiceMessage response = (MockWebServiceMessage) messageContext.getResponse();
response.setPayload("<response/>");
interceptor.setLogResponse(false);
int eventCount = appender.getCount();
interceptor.handleResponse(messageContext, null);
assertEquals("PayloadLoggingInterceptor logged when disabled", appender.getCount(), eventCount);
Assert.assertEquals("PayloadLoggingInterceptor logged when disabled", appender.getCount(), eventCount);
}
@Test
public void testHandleResponseEnabled() throws Exception {
MockWebServiceMessage response = (MockWebServiceMessage) messageContext.getResponse();
response.setPayload("<response/>");
int eventCount = appender.getCount();
interceptor.handleResponse(messageContext, null);
assertTrue("PayloadLoggingInterceptor did not log", appender.getCount() > eventCount);
Assert.assertTrue("PayloadLoggingInterceptor did not log", appender.getCount() > eventCount);
}
private static class CountingAppender extends AppenderSkeleton {

View File

@@ -22,9 +22,6 @@ import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXSource;
import org.custommonkey.xmlunit.XMLTestCase;
import org.custommonkey.xmlunit.XMLUnit;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.ws.MockWebServiceMessage;
@@ -39,7 +36,14 @@ import org.springframework.xml.sax.SaxUtils;
import org.springframework.xml.transform.ResourceSource;
import org.springframework.xml.transform.StringResult;
public class PayloadTransformingInterceptorTest extends XMLTestCase {
import org.custommonkey.xmlunit.XMLUnit;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
public class PayloadTransformingInterceptorTest {
private PayloadTransformingInterceptor interceptor;
@@ -51,8 +55,8 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
private Resource xslt;
@Override
protected void setUp() throws Exception {
@Before
public void setUp() throws Exception {
interceptor = new PayloadTransformingInterceptor();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformer = transformerFactory.newTransformer();
@@ -62,6 +66,7 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
XMLUnit.setIgnoreWhitespace(true);
}
@Test
public void testHandleRequest() throws Exception {
interceptor.setRequestXslt(xslt);
interceptor.afterPropertiesSet();
@@ -69,12 +74,13 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
MessageContext context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
boolean result = interceptor.handleRequest(context, null);
assertTrue("Invalid interceptor result", result);
Assert.assertTrue("Invalid interceptor result", result);
StringResult expected = new StringResult();
transformer.transform(new SAXSource(SaxUtils.createInputSource(output)), expected);
assertXMLEqual(expected.toString(), request.getPayloadAsString());
}
@Test
public void testHandleRequestNoXslt() throws Exception {
interceptor.setResponseXslt(xslt);
interceptor.afterPropertiesSet();
@@ -82,12 +88,13 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
MessageContext context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
boolean result = interceptor.handleRequest(context, null);
assertTrue("Invalid interceptor result", result);
Assert.assertTrue("Invalid interceptor result", result);
StringResult expected = new StringResult();
transformer.transform(new SAXSource(SaxUtils.createInputSource(input)), expected);
assertXMLEqual(expected.toString(), request.getPayloadAsString());
}
@Test
public void testHandleResponse() throws Exception {
interceptor.setResponseXslt(xslt);
interceptor.afterPropertiesSet();
@@ -97,12 +104,13 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
response.setPayload(input);
boolean result = interceptor.handleResponse(context, null);
assertTrue("Invalid interceptor result", result);
Assert.assertTrue("Invalid interceptor result", result);
StringResult expected = new StringResult();
transformer.transform(new SAXSource(SaxUtils.createInputSource(output)), expected);
assertXMLEqual(expected.toString(), response.getPayloadAsString());
}
@Test
public void testHandleResponseNoXslt() throws Exception {
interceptor.setRequestXslt(xslt);
interceptor.afterPropertiesSet();
@@ -112,12 +120,13 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
response.setPayload(input);
boolean result = interceptor.handleResponse(context, null);
assertTrue("Invalid interceptor result", result);
Assert.assertTrue("Invalid interceptor result", result);
StringResult expected = new StringResult();
transformer.transform(new SAXSource(SaxUtils.createInputSource(input)), expected);
assertXMLEqual(expected.toString(), response.getPayloadAsString());
}
@Test
public void testSaaj() throws Exception {
interceptor.setRequestXslt(xslt);
interceptor.afterPropertiesSet();
@@ -127,7 +136,7 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
transformer.transform(new ResourceSource(input), message.getPayloadResult());
MessageContext context = new DefaultMessageContext(message, new SaajSoapMessageFactory(messageFactory));
assertTrue("Invalid interceptor result", interceptor.handleRequest(context, null));
Assert.assertTrue("Invalid interceptor result", interceptor.handleRequest(context, null));
StringResult expected = new StringResult();
transformer.transform(new SAXSource(SaxUtils.createInputSource(output)), expected);
StringResult result = new StringResult();
@@ -136,6 +145,7 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
}
@Test
public void testPox() throws Exception {
interceptor.setRequestXslt(xslt);
interceptor.afterPropertiesSet();
@@ -144,7 +154,7 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
transformer.transform(new ResourceSource(input), message.getPayloadResult());
MessageContext context = new DefaultMessageContext(message, factory);
assertTrue("Invalid interceptor result", interceptor.handleRequest(context, null));
Assert.assertTrue("Invalid interceptor result", interceptor.handleRequest(context, null));
StringResult expected = new StringResult();
transformer.transform(new SAXSource(SaxUtils.createInputSource(output)), expected);
StringResult result = new StringResult();
@@ -153,10 +163,11 @@ public class PayloadTransformingInterceptorTest extends XMLTestCase {
}
@Test
public void testNoStylesheetsSet() throws Exception {
try {
interceptor.afterPropertiesSet();
fail("Should have thrown an Exception");
Assert.fail("Should have thrown an Exception");
}
catch (IllegalArgumentException ex) {
}

View File

@@ -16,80 +16,90 @@
package org.springframework.ws.server.endpoint.mapping;
import junit.framework.TestCase;
import org.easymock.MockControl;
import org.springframework.context.support.StaticApplicationContext;
import org.springframework.ws.context.MessageContext;
import org.springframework.ws.server.EndpointInterceptor;
import org.springframework.ws.server.EndpointInvocationChain;
import org.springframework.ws.server.endpoint.interceptor.EndpointInterceptorAdapter;
public class EndpointMappingTest extends TestCase {
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import static org.easymock.EasyMock.*;
public class EndpointMappingTest {
private MessageContext mockContext;
private MockControl contextControl;
@Override
protected void setUp() throws Exception {
contextControl = MockControl.createControl(MessageContext.class);
mockContext = (MessageContext) contextControl.getMock();
@Before
public void setUp() throws Exception {
mockContext = createMock(MessageContext.class);
}
@Test
public void testDefaultEndpoint() throws Exception {
Object defaultEndpoint = new Object();
AbstractEndpointMapping mapping = new AbstractEndpointMapping() {
@Override
protected Object getEndpointInternal(MessageContext givenRequest) throws Exception {
assertEquals("Invalid request passed", mockContext, givenRequest);
Assert.assertEquals("Invalid request passed", mockContext, givenRequest);
return null;
}
};
mapping.setDefaultEndpoint(defaultEndpoint);
contextControl.replay();
replay(mockContext);
EndpointInvocationChain result = mapping.getEndpoint(mockContext);
assertNotNull("No EndpointInvocatioChain returned", result);
assertEquals("Default Endpoint not returned", defaultEndpoint, result.getEndpoint());
contextControl.verify();
Assert.assertNotNull("No EndpointInvocatioChain returned", result);
Assert.assertEquals("Default Endpoint not returned", defaultEndpoint, result.getEndpoint());
verify(mockContext);
}
@Test
public void testEndpoint() throws Exception {
final Object endpoint = new Object();
AbstractEndpointMapping mapping = new AbstractEndpointMapping() {
@Override
protected Object getEndpointInternal(MessageContext givenRequest) throws Exception {
assertEquals("Invalid request passed", mockContext, givenRequest);
Assert.assertEquals("Invalid request passed", mockContext, givenRequest);
return endpoint;
}
};
contextControl.replay();
replay(mockContext);
EndpointInvocationChain result = mapping.getEndpoint(mockContext);
assertNotNull("No EndpointInvocatioChain returned", result);
assertEquals("Unexpected Endpoint returned", endpoint, result.getEndpoint());
contextControl.verify();
Assert.assertNotNull("No EndpointInvocatioChain returned", result);
Assert.assertEquals("Unexpected Endpoint returned", endpoint, result.getEndpoint());
verify(mockContext);
}
@Test
public void testEndpointInterceptors() throws Exception {
final Object endpoint = new Object();
EndpointInterceptor interceptor = new EndpointInterceptorAdapter();
AbstractEndpointMapping mapping = new AbstractEndpointMapping() {
@Override
protected Object getEndpointInternal(MessageContext givenRequest) throws Exception {
assertEquals("Invalid request passed", mockContext, givenRequest);
Assert.assertEquals("Invalid request passed", mockContext, givenRequest);
return endpoint;
}
};
contextControl.replay();
replay(mockContext);
mapping.setInterceptors(new EndpointInterceptor[]{interceptor});
EndpointInvocationChain result = mapping.getEndpoint(mockContext);
assertEquals("Unexpected amount of EndpointInterceptors returned", 1, result.getInterceptors().length);
assertEquals("Unexpected EndpointInterceptor returned", interceptor, result.getInterceptors()[0]);
contextControl.verify();
Assert.assertEquals("Unexpected amount of EndpointInterceptors returned", 1, result.getInterceptors().length);
Assert.assertEquals("Unexpected EndpointInterceptor returned", interceptor, result.getInterceptors()[0]);
verify(mockContext);
}
@Test
public void testEndpointBeanName() throws Exception {
StaticApplicationContext applicationContext = new StaticApplicationContext();
applicationContext.registerSingleton("endpoint", Object.class);
@@ -98,18 +108,21 @@ public class EndpointMappingTest extends TestCase {
@Override
protected Object getEndpointInternal(MessageContext message) throws Exception {
assertEquals("Invalid request", mockContext, message);
Assert.assertEquals("Invalid request", mockContext, message);
return "endpoint";
}
};
mapping.setApplicationContext(applicationContext);
contextControl.replay();
replay(mockContext);
EndpointInvocationChain result = mapping.getEndpoint(mockContext);
assertNotNull("No endpoint returned", result);
contextControl.verify();
Assert.assertNotNull("No endpoint returned", result);
verify(mockContext);
}
@Test
public void testEndpointInvalidBeanName() throws Exception {
StaticApplicationContext applicationContext = new StaticApplicationContext();
applicationContext.registerSingleton("endpoint", Object.class);
@@ -118,19 +131,22 @@ public class EndpointMappingTest extends TestCase {
@Override
protected Object getEndpointInternal(MessageContext message) throws Exception {
assertEquals("Invalid request", mockContext, message);
Assert.assertEquals("Invalid request", mockContext, message);
return "noSuchBean";
}
};
mapping.setApplicationContext(applicationContext);
contextControl.replay();
replay(mockContext);
EndpointInvocationChain result = mapping.getEndpoint(mockContext);
assertNull("No endpoint returned", result);
contextControl.verify();
Assert.assertNull("No endpoint returned", result);
verify(mockContext);
}
@Test
public void testEndpointPrototype() throws Exception {
StaticApplicationContext applicationContext = new StaticApplicationContext();
applicationContext.registerPrototype("endpoint", MyEndpoint.class);
@@ -139,19 +155,21 @@ public class EndpointMappingTest extends TestCase {
@Override
protected Object getEndpointInternal(MessageContext message) throws Exception {
assertEquals("Invalid request", mockContext, message);
Assert.assertEquals("Invalid request", mockContext, message);
return "endpoint";
}
};
mapping.setApplicationContext(applicationContext);
contextControl.replay();
replay(mockContext);
EndpointInvocationChain result = mapping.getEndpoint(mockContext);
assertNotNull("No endpoint returned", result);
Assert.assertNotNull("No endpoint returned", result);
result = mapping.getEndpoint(mockContext);
assertNotNull("No endpoint returned", result);
assertEquals("Prototype endpoint was not constructed twice", 2, MyEndpoint.constrCount);
contextControl.verify();
Assert.assertNotNull("No endpoint returned", result);
Assert.assertEquals("Prototype endpoint was not constructed twice", 2, MyEndpoint.constrCount);
verify(mockContext);
}
private static class MyEndpoint {

View File

@@ -20,15 +20,18 @@ import java.util.Arrays;
import java.util.Map;
import java.util.TreeMap;
import junit.framework.TestCase;
import org.springframework.context.support.StaticApplicationContext;
import org.springframework.ws.context.MessageContext;
import org.junit.Assert;
import org.junit.Test;
/**
* Test case for AbstractMapBasedEndpointMapping.
*/
public class MapBasedSoapEndpointMappingTest extends TestCase {
public class MapBasedSoapEndpointMappingTest {
@Test
public void testBeanNames() throws Exception {
StaticApplicationContext context = new StaticApplicationContext();
context.registerSingleton("endpointMapping", MyMapBasedEndpointMapping.class);
@@ -42,18 +45,19 @@ public class MapBasedSoapEndpointMappingTest extends TestCase {
// try bean
mapping.setKey("endpoint");
assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
// try alias
mapping.setKey("alias");
assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
// try non-mapped values
mapping.setKey("endpointMapping");
assertNull("Endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNull("Endpoint returned", mapping.getEndpointInternal(null));
}
@Test
public void testDisabledBeanNames() throws Exception {
StaticApplicationContext context = new StaticApplicationContext();
context.registerSingleton("endpoint", Object.class);
@@ -64,11 +68,12 @@ public class MapBasedSoapEndpointMappingTest extends TestCase {
mapping.setApplicationContext(context);
mapping.setKey("endpoint");
assertNull("Endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNull("Endpoint returned", mapping.getEndpointInternal(null));
}
@Test
public void testEndpointMap() throws Exception {
Map endpointMap = new TreeMap();
Map<String, Object> endpointMap = new TreeMap<String, Object>();
Object endpoint1 = new Object();
Object endpoint2 = new Object();
endpointMap.put("endpoint1", endpoint1);
@@ -82,15 +87,15 @@ public class MapBasedSoapEndpointMappingTest extends TestCase {
// try endpoint1
mapping.setKey("endpoint1");
assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
// try endpoint2
mapping.setKey("endpoint2");
assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNotNull("No endpoint returned", mapping.getEndpointInternal(null));
// try non-mapped values
mapping.setKey("endpoint3");
assertNull("Endpoint returned", mapping.getEndpointInternal(null));
Assert.assertNull("Endpoint returned", mapping.getEndpointInternal(null));
}
private static class MyMapBasedEndpointMapping extends AbstractMapBasedEndpointMapping {

View File

@@ -18,36 +18,41 @@ package org.springframework.ws.server.endpoint.mapping;
import javax.xml.namespace.QName;
import junit.framework.TestCase;
import org.springframework.ws.MockWebServiceMessage;
import org.springframework.ws.MockWebServiceMessageFactory;
import org.springframework.ws.context.DefaultMessageContext;
import org.springframework.ws.context.MessageContext;
public class PayloadRootQNameEndpointMappingTest extends TestCase {
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class PayloadRootQNameEndpointMappingTest {
private PayloadRootQNameEndpointMapping mapping;
@Override
protected void setUp() throws Exception {
@Before
public void setUp() throws Exception {
mapping = new PayloadRootQNameEndpointMapping();
}
@Test
public void testResolveQNames() throws Exception {
MockWebServiceMessage request = new MockWebServiceMessage("<root/>");
MessageContext context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
QName qName = mapping.resolveQName(context);
assertNotNull("mapping returns null", qName);
assertEquals("mapping returns invalid qualified name", new QName("root"), qName);
Assert.assertNotNull("mapping returns null", qName);
Assert.assertEquals("mapping returns invalid qualified name", new QName("root"), qName);
}
@Test
public void testGetQNameNameNamespace() throws Exception {
MockWebServiceMessage request = new MockWebServiceMessage("<prefix:localname xmlns:prefix=\"namespace\"/>");
MessageContext context = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
QName qName = mapping.resolveQName(context);
assertNotNull("mapping returns null", qName);
assertEquals("mapping returns invalid method name", new QName("namespace", "localname", "prefix"), qName);
Assert.assertNotNull("mapping returns null", qName);
Assert.assertEquals("mapping returns invalid method name", new QName("namespace", "localname", "prefix"), qName);
}
}