net.javacrumbs.springws.test.simple
Class WsMockControl

java.lang.Object
  extended by net.javacrumbs.springws.test.simple.WsMockControl

public class WsMockControl
extends java.lang.Object

Utility class for easy unit-test mock preparation. Usually used in this way

 //create control
 WsMockControl mockControl = new WsMockControl();
 //create mock
 WebServiceMessageSender mockMessageSender = mockControl.expectRequest("PRG-DUB-request.xml").returnResponse("PRG-DUB-response.xml").createMock();
 //use the mock
 webServiceTemplate.setMessageSender(mockMessageSender);
 
 //do your test here ...
 
 //verify that the mock was used
 mockControl.verify();
 

Author:
Lukas Krecan

Constructor Summary
WsMockControl()
           
 
Method Summary
 WsMockControl addInterceptor(org.springframework.ws.server.EndpointInterceptor interceptor)
           
 WsMockControl addRequestProcessor(RequestProcessor requestProcessor)
          Adds request processor.
 WsMockControl addRequestProcessor(RequestProcessor requestProcessor, java.lang.String requestProcessorDescription)
          Adds a request processor.
 WsMockControl anyTimes()
           
 WsMockControl assertThat(java.lang.String expression, java.util.Map<java.lang.String,java.lang.String> namespaceMap)
          Mock will fail if the expression evaluates to false.
 WsMockControl atLeastOnce()
           
 org.springframework.ws.transport.WebServiceMessageSender createMock()
          Create mock WebServiceMessageSender.
protected  ResourceLookup createResourceLookup(org.springframework.core.io.Resource resource)
          Creates resource lookup to be used in request validators and response generators.
 WsMockControl expectRequest(org.springframework.core.io.Resource resource)
          Expects that request will be the same as content of the resource.
 WsMockControl expectRequest(java.lang.String resourceName)
          Expects that request will be the same as content of the resource.
 WsMockControl expectUri(java.net.URI expectedUri)
          Expects given uri.
 WsMockControl failIf(java.lang.String expression, java.util.Map<java.lang.String,java.lang.String> namespaceMap)
          Mock will fail if the expression evaluates to true.
 java.util.List<LimitingRequestProcessor> getRequestProcessors()
          Returns list of request processors.
 org.springframework.core.io.ResourceLoader getResourceLoader()
           
 WsMockControl ignoreWhitespace(boolean ignoreWhitespace)
           
 boolean isIgnoreWhitespace()
           
 WsMockControl once()
           
 WsMockControl returnResponse(org.springframework.core.io.Resource resource)
          Mock will return response taken from the resource.
 WsMockControl returnResponse(java.lang.String resourceName)
           
 void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
           
 WsMockControl setTestContextAttribute(java.lang.String name, java.lang.Object value)
          Simplifies setting of context attribute.
 WsMockControl throwException(java.lang.RuntimeException exception)
          Mock will throw an exception.
 WsMockControl times(int count)
           
 WsMockControl times(int min, int max)
          Sets number of calls for the last RequestProcessor.
 WsMockControl useFreeMarkerTemplateProcessor()
          From now on use FreeMarker for templates.
 WsMockControl useTemplateProcessor(TemplateProcessor templateProcessor)
          Sets template processor to be used.
 WsMockControl useXsltTemplateProcessor()
          From now on use XSLT for templates.
 WsMockControl validate(org.springframework.xml.validation.XmlValidator xmlValidator)
          Validates request using generic XmlValidator.
 WsMockControl validateSchema(org.springframework.core.io.Resource... xsds)
          Validate requests using given schemas.
 WsMockControl validateSchema(java.lang.String... xsdPaths)
          Validate requests using given schemas.
 void verify()
          Verifies that all RequestProcessors were called given number of times.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WsMockControl

public WsMockControl()
Method Detail

createMock

public org.springframework.ws.transport.WebServiceMessageSender createMock()
                                                                    throws java.lang.IllegalStateException
Create mock WebServiceMessageSender. If behavior not defined, throws IllegalStateException.

Returns:
Throws:
java.lang.IllegalStateException

addRequestProcessor

public WsMockControl addRequestProcessor(RequestProcessor requestProcessor)
Adds request processor. Uses toString() method to get description of the processor and calls addRequestProcessor(RequestProcessor, String).

Parameters:
requestProcessor -
Returns:

addRequestProcessor

public WsMockControl addRequestProcessor(RequestProcessor requestProcessor,
                                         java.lang.String requestProcessorDescription)
Adds a request processor. If the processor does not implement LimitingRequestProcessor it's wrapped in LimitingRequestProcessorWrapper.

Parameters:
requestProcessor -
requestProcessorDescription -
Returns:

expectRequest

public WsMockControl expectRequest(java.lang.String resourceName)
Expects that request will be the same as content of the resource.

Parameters:
resourceName -
Returns:

expectRequest

public WsMockControl expectRequest(org.springframework.core.io.Resource resource)
Expects that request will be the same as content of the resource.

Parameters:
resource -
Returns:

validateSchema

public WsMockControl validateSchema(org.springframework.core.io.Resource... xsds)
Validate requests using given schemas.

Parameters:
xsds -
Returns:

validateSchema

public WsMockControl validateSchema(java.lang.String... xsdPaths)
Validate requests using given schemas.

Parameters:
xsdPaths -
Returns:

validate

public WsMockControl validate(org.springframework.xml.validation.XmlValidator xmlValidator)
Validates request using generic XmlValidator. See XmlValidatorFactory for detailed info.

Parameters:
xmlValidator -
Returns:

createResourceLookup

protected ResourceLookup createResourceLookup(org.springframework.core.io.Resource resource)
Creates resource lookup to be used in request validators and response generators.

Parameters:
resourceName -
Returns:

failIf

public WsMockControl failIf(java.lang.String expression,
                            java.util.Map<java.lang.String,java.lang.String> namespaceMap)
Mock will fail if the expression evaluates to true.

Parameters:
expression -
namespaceMap -
Returns:

assertThat

public WsMockControl assertThat(java.lang.String expression,
                                java.util.Map<java.lang.String,java.lang.String> namespaceMap)
Mock will fail if the expression evaluates to false.

Parameters:
expression -
namespaceMap -
Returns:

returnResponse

public WsMockControl returnResponse(java.lang.String resourceName)

returnResponse

public WsMockControl returnResponse(org.springframework.core.io.Resource resource)
Mock will return response taken from the resource.

Parameters:
resourceName -
Returns:

useFreeMarkerTemplateProcessor

public WsMockControl useFreeMarkerTemplateProcessor()
From now on use FreeMarker for templates.

Returns:

useXsltTemplateProcessor

public WsMockControl useXsltTemplateProcessor()
From now on use XSLT for templates.

Returns:

useTemplateProcessor

public WsMockControl useTemplateProcessor(TemplateProcessor templateProcessor)
Sets template processor to be used.

Parameters:
templateProcessor -
Returns:

throwException

public WsMockControl throwException(java.lang.RuntimeException exception)
Mock will throw an exception.

Parameters:
exception -
Returns:

expectUri

public WsMockControl expectUri(java.net.URI expectedUri)
Expects given uri. If other URI is used, WsTestException is thrown.

Parameters:
expectedUri -
Returns:

getRequestProcessors

public java.util.List<LimitingRequestProcessor> getRequestProcessors()
Returns list of request processors.

Returns:

times

public WsMockControl times(int min,
                           int max)
Sets number of calls for the last RequestProcessor. If given processor was called less the min times, verify will throw WsTestException, if it was called for more then max times, the RequestProcessor will do nothing and return null. See LimitingRequestProcessor for more details.

Parameters:
min -
max -
Returns:

times

public WsMockControl times(int count)

once

public WsMockControl once()

anyTimes

public WsMockControl anyTimes()

atLeastOnce

public WsMockControl atLeastOnce()

verify

public void verify()
Verifies that all RequestProcessors were called given number of times.


getResourceLoader

public org.springframework.core.io.ResourceLoader getResourceLoader()

setResourceLoader

public void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)

isIgnoreWhitespace

public boolean isIgnoreWhitespace()

ignoreWhitespace

public WsMockControl ignoreWhitespace(boolean ignoreWhitespace)

addInterceptor

public WsMockControl addInterceptor(org.springframework.ws.server.EndpointInterceptor interceptor)

setTestContextAttribute

public WsMockControl setTestContextAttribute(java.lang.String name,
                                             java.lang.Object value)
Simplifies setting of context attribute. See WsTestContext for more details.

Parameters:
name -
value -
Returns:


Copyright © 2011. All Rights Reserved.