Webtest WebTest GitHub Home

Email Step emailMessageStructureFilter

Description

Returns the structure (expressed in XML) associated with a particular message as the current response.

Parameters

messageId
Required? yes
The message id.
description
Required? no
The description of this test step.
headers
Required? no, default is no headers
A comma or space seperated list of headers to include in the structure description.
save
Required? no
A shorthand: save='prefixName' is the same as savePrefix='prefixName' saveResponse='true'.
savePrefix
Required? no, default is the 'savePrefix' parameter as specified in <config>.
A name prefix can be specified for making a permanent copy of received responses. A unique number and the file extension (depending on the MIME-Type) will be appended. The resultpath attribute of the <config> element is used for determining the location of the saved result.
saveResponse
Required? no
Whether to make a permanent copy of received responses. Overrides the default value set in the <config> element.

Details

Here is an example of using the emailMessageStructureFilter step.

emailMessageStructureFilter
<steps>
    <emailSetConfig .../>

    <-- plain message -->
    <emailStoreMessageId subject="mailtest - multifiles - plain"
        property="mid1" .../>
    <compareToExpected saveFiltered="truereadFiltered="false"
            toFile="plainStructure.txt">
        <emailMessageStructureFilter messageId="#{mid1}"/>
    </compareToExpected>

    <-- MIME message -->
    <emailStoreMessageId subject="mailtest - multifiles - mime"
        property="mid2" .../>
    <compareToExpected saveFiltered="truereadFiltered="false"
            toFile="mimeStructure.txt">
        <emailMessageStructureFilter messageId="#{mid2}"
                headers="subject"/>
    </compareToExpected>

    <-- uuencoded message -->
    <emailStoreMessageId subject="mailtest - multifiles - uu"
        property="mid3" .../>
    <compareToExpected saveFiltered="truereadFiltered="false"
            toFile="uuStructure.txt">
        <emailMessageStructureFilter headers="subject,from,to"
                messageId="#{mid3}"/>
    </compareToExpected>

</steps>

The resulting files will be as follows:

plainStructure.txt
<message type="SimplecontentType="text/plain">
</message>
uuStructure.txt
<message type="SimplecontentType="text/plain">
    <header name="Subjectvalue="mailtest - multifiles - uu"/>
    <header name="Fromvalue="paul@asert.com.au"/>
    <header name="Tovalue="paul@asert.com.au"/>
    <part type="uuencodedfilename="ok.gif"/>
    <part type="uuencodedfilename="testDocLinks.pdf"/>
</message>
mimeStructure.txt
<message type="MIMEcontentType="multipart/mixed">
    <header name="Subjectvalue="mailtest - multifiles - mime"/>
    <part type="inlinecontentType="text/plain"/>
    <part type="attachmentfilename="ok.gifcontentType="image/gif"/>
    <part type="attachmentfilename="testDocLinks.pdfcontentType="application/octet-stream"/>
</message>

Note in the above example the XML structure descriptions were saved away for later comparison. An alternative would be to perform verifyXPath tests on the resulting current content.