net.javacrumbs.springws.test.helper
Class MessageValidator

java.lang.Object
  extended by net.javacrumbs.springws.test.helper.MessageValidator

public class MessageValidator
extends java.lang.Object

Contains methods simplifying message validation.

Author:
Lukas Krecan

Constructor Summary
MessageValidator(org.springframework.ws.WebServiceMessage message)
           
 
Method Summary
 MessageValidator addNamespaceMapping(java.lang.String prefix, java.lang.String namespace)
          Adds mapping between prefix and namespace.
 MessageValidator assertContain(java.lang.String regexp)
          Asserts that the message contains given reqular expression.
 MessageValidator assertContainElement(java.lang.String elementName)
          Asserts that the message contains element with given name.
 MessageValidator assertFaultActorOrRole(java.lang.String expectedActorOrRole)
          Compares fault actor or role.
 MessageValidator assertFaultCode(java.lang.String expectedFaultCode)
          Compares fault code.
 MessageValidator assertFaultStringOrReason(java.lang.String expectedStringOrReason)
          Compares fault string or reason.
 MessageValidator assertNotContain(java.lang.String regexp)
          Asserts that the message does not contain given reqular expression.
 MessageValidator assertNotContainElement(java.lang.String elementName)
          Asserts that message does not contain given element.
 MessageValidator assertNotSoapFault()
          Asserts that message is not SOAP fault.
 MessageValidator assertSoapFault()
          Assert that message is SOAP fault.
 MessageValidator assertSoapMessage()
          Assert that message is SOAP message (wrapped in SOAP envelope).
 MessageValidator assertXPath(java.lang.String xpath)
          Asserts XPath expression.
 MessageValidator assertXPath(java.lang.String xpath, java.lang.String errorMessage)
          Asserts XPath expression.
 MessageValidator compare(org.springframework.core.io.Resource controlResource)
           
 MessageValidator compare(java.lang.String controlResourcePath)
           
protected  java.lang.String evaluateExpression(java.lang.String expression)
          Evaluates expression
 ExpressionEvaluator getExpressionEvaluator()
           
 org.springframework.ws.WebServiceMessage getMessage()
           
 MessageComparator getMessageComparator()
           
protected  org.springframework.core.io.Resource getResource(java.lang.String resourcePath)
           
 org.springframework.core.io.ResourceLoader getResourceLoader()
           
 java.lang.String getSchemaLanguage()
           
 SchemaValidator getSchemaValidator()
           
 org.springframework.ws.soap.SoapFault getSoapFault()
          Returns SOAP fault.
 org.springframework.ws.soap.SoapMessage getSoapMessage()
          Returns soap message.
 TemplateProcessor getTemplateProcessor()
           
protected  boolean isSoapFault()
          Returns true if message is SOAP fault.
protected  org.springframework.core.io.Resource preprocessResource(org.springframework.core.io.Resource resource)
          Does resource preprocessing.
protected  void processIOException(java.io.IOException e)
           
 void setExpressionEvaluator(ExpressionEvaluator expressionEvaluator)
           
 void setMessageComparator(MessageComparator messageComparator)
           
 void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
           
 void setSchemaLanguage(java.lang.String schemaLanguage)
           
 void setSchemaValidator(SchemaValidator schemaValidator)
           
 void setTemplateProcessor(TemplateProcessor templateProcessor)
           
 MessageValidator useExpressionEvaluator(ExpressionEvaluator expressionEvaluator)
           
 MessageValidator useFreeMarkerTemplateProcessor()
          From now on use FreeMarker for templates.
 MessageValidator useMessageComparator(MessageComparator messageComparator)
           
 MessageValidator useNamespaceMapping(java.util.Map<java.lang.String,java.lang.String> namespaceMapping)
          Sets namespace mapping for all XPath validations like assertXPath(String)
 MessageValidator useSchemaLanguage(java.lang.String schemaLanguage)
           
 MessageValidator useSchemaValidator(SchemaValidator schemaValidator)
           
 MessageValidator useTemplateProcessor(TemplateProcessor templateProcessor)
           
 MessageValidator useXsltTemplateProcessor()
          From now on use XSLT for templates.
 MessageValidator validate(org.springframework.core.io.Resource schema, org.springframework.core.io.Resource... schemas)
          Validates if the message corresponds to given XSD.
 MessageValidator validate(java.lang.String schemaPath, java.lang.String... schemaPaths)
          Validates if the message corresponds to given XSDs.
 MessageValidator validate(org.springframework.xml.validation.XmlValidator xmlValidator)
          Validates message using generic XmlValidator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageValidator

public MessageValidator(org.springframework.ws.WebServiceMessage message)
Method Detail

compare

public MessageValidator compare(java.lang.String controlResourcePath)

compare

public MessageValidator compare(org.springframework.core.io.Resource controlResource)

processIOException

protected void processIOException(java.io.IOException e)

validate

public MessageValidator validate(java.lang.String schemaPath,
                                 java.lang.String... schemaPaths)
                          throws java.io.IOException
Validates if the message corresponds to given XSDs.

Parameters:
message -
Throws:
java.io.IOException

validate

public MessageValidator validate(org.springframework.core.io.Resource schema,
                                 org.springframework.core.io.Resource... schemas)
                          throws java.io.IOException
Validates if the message corresponds to given XSD.

Parameters:
message -
Throws:
java.io.IOException

validate

public MessageValidator validate(org.springframework.xml.validation.XmlValidator xmlValidator)
Validates message using generic XmlValidator. See XmlValidatorFactory for more details.

Parameters:
validator -

useNamespaceMapping

public MessageValidator useNamespaceMapping(java.util.Map<java.lang.String,java.lang.String> namespaceMapping)
Sets namespace mapping for all XPath validations like assertXPath(String)

Parameters:
namespaceMapping -
Returns:

addNamespaceMapping

public MessageValidator addNamespaceMapping(java.lang.String prefix,
                                            java.lang.String namespace)
Adds mapping between prefix and namespace.

Parameters:
prefix -
namespace -
Returns:

assertXPath

public MessageValidator assertXPath(java.lang.String xpath)
Asserts XPath expression. If the expression is not evaluated to true, throws WsTestException. It is possible to set namespace mapping using useNamespaceMapping(Map).

Parameters:
xpath -
Returns:

assertXPath

public MessageValidator assertXPath(java.lang.String xpath,
                                    java.lang.String errorMessage)
Asserts XPath expression. If the expression is not evaluated to true, throws WsTestException. It is possible to set namespace mapping using useNamespaceMapping(Map).

Parameters:
xpath -
Returns:

evaluateExpression

protected java.lang.String evaluateExpression(java.lang.String expression)
Evaluates expression

Parameters:
expression -
Returns:

assertNotSoapFault

public MessageValidator assertNotSoapFault()
Asserts that message is not SOAP fault.

Returns:

assertSoapMessage

public MessageValidator assertSoapMessage()
Assert that message is SOAP message (wrapped in SOAP envelope).


assertSoapFault

public MessageValidator assertSoapFault()
Assert that message is SOAP fault.


isSoapFault

protected boolean isSoapFault()
Returns true if message is SOAP fault.

Returns:

getSoapMessage

public org.springframework.ws.soap.SoapMessage getSoapMessage()
Returns soap message.

Returns:

getSoapFault

public org.springframework.ws.soap.SoapFault getSoapFault()
Returns SOAP fault.

Returns:

assertFaultCode

public MessageValidator assertFaultCode(java.lang.String expectedFaultCode)
Compares fault code.

Parameters:
expectedFaultCode -
Returns:

assertFaultStringOrReason

public MessageValidator assertFaultStringOrReason(java.lang.String expectedStringOrReason)
Compares fault string or reason. See SoapFault.getFaultStringOrReason().

Parameters:
expectedStringOrReason -
Returns:

assertFaultActorOrRole

public MessageValidator assertFaultActorOrRole(java.lang.String expectedActorOrRole)
Compares fault actor or role. See SoapFault.getFaultActorOrRole().

Parameters:
expectedActorOrRole -
Returns:

assertContainElement

public MessageValidator assertContainElement(java.lang.String elementName)
Asserts that the message contains element with given name. Namespace is ignored.

Parameters:
elementName -
Returns:

assertNotContainElement

public MessageValidator assertNotContainElement(java.lang.String elementName)
Asserts that message does not contain given element. Namespace is ignored.

Parameters:
string -
Returns:

assertContain

public MessageValidator assertContain(java.lang.String regexp)
Asserts that the message contains given reqular expression. The message is processed as text, so whitespaces are taken into account

Parameters:
string -
Returns:

assertNotContain

public MessageValidator assertNotContain(java.lang.String regexp)
Asserts that the message does not contain given reqular expression. The message is processed as text, so whitespaces are taken into account

Parameters:
string -
Returns:

preprocessResource

protected org.springframework.core.io.Resource preprocessResource(org.springframework.core.io.Resource resource)
                                                           throws java.io.IOException
Does resource preprocessing. In default implementation just evaluates a template.

Parameters:
resource -
Returns:
Throws:
java.io.IOException

getResource

protected org.springframework.core.io.Resource getResource(java.lang.String resourcePath)

getResourceLoader

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

setResourceLoader

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

getTemplateProcessor

public TemplateProcessor getTemplateProcessor()

setTemplateProcessor

public void setTemplateProcessor(TemplateProcessor templateProcessor)

useTemplateProcessor

public MessageValidator useTemplateProcessor(TemplateProcessor templateProcessor)

useFreeMarkerTemplateProcessor

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

Returns:

useXsltTemplateProcessor

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

Returns:

getMessage

public org.springframework.ws.WebServiceMessage getMessage()

getMessageComparator

public MessageComparator getMessageComparator()

setMessageComparator

public void setMessageComparator(MessageComparator messageComparator)

useMessageComparator

public MessageValidator useMessageComparator(MessageComparator messageComparator)

getSchemaValidator

public SchemaValidator getSchemaValidator()

setSchemaValidator

public void setSchemaValidator(SchemaValidator schemaValidator)

useSchemaValidator

public MessageValidator useSchemaValidator(SchemaValidator schemaValidator)

getSchemaLanguage

public java.lang.String getSchemaLanguage()

setSchemaLanguage

public void setSchemaLanguage(java.lang.String schemaLanguage)

useSchemaLanguage

public MessageValidator useSchemaLanguage(java.lang.String schemaLanguage)

getExpressionEvaluator

public ExpressionEvaluator getExpressionEvaluator()

setExpressionEvaluator

public void setExpressionEvaluator(ExpressionEvaluator expressionEvaluator)

useExpressionEvaluator

public MessageValidator useExpressionEvaluator(ExpressionEvaluator expressionEvaluator)


Copyright © 2011. All Rights Reserved.