package com.ewolff.orderhandling.wsclient; import static org.springframework.ws.test.server.RequestCreators.withPayload; import java.io.IOException; import javax.xml.transform.TransformerException; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.core.io.ClassPathResource; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.ClassMode; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.ws.WebServiceMessage; import org.springframework.ws.test.server.MockWebServiceClient; import org.springframework.ws.test.server.ResponseMatcher; import org.springframework.xml.transform.StringResult; import org.springframework.xml.transform.TransformerHelper; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "/spring-ws-servlet.xml", "/application-config.xml" }) @DirtiesContext(classMode = ClassMode.AFTER_CLASS) public class WSTest { @Autowired private ApplicationContext applicationContext; private MockWebServiceClient mockClient; @Before public void createClient() { mockClient = MockWebServiceClient.createClient(applicationContext); } @Test public void testRequest() throws IOException { sendFile("test-request.xml"); } @Test public void testRequest1() throws IOException { sendFile("test-request-1.xml"); } private void sendFile(String fileName) throws IOException { ClassPathResource resource = new ClassPathResource(fileName); mockClient.sendRequest(withPayload(resource)).andExpect( new ResponseMatcher() { private final TransformerHelper transformerHelper = new TransformerHelper(); @Override public void match(WebServiceMessage request, WebServiceMessage response) throws IOException, AssertionError { StringResult result = new StringResult(); try { transformerHelper.transform( response.getPayloadSource(), result); } catch (TransformerException e) { throw new RuntimeException(e); } Assert.assertTrue(result.toString(), result.toString() .contains("success")); } }); } }