Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r3547 - trunk/functional-testing/clmp

Subject: perfsonar development work

List archive

perfsonar: r3547 - trunk/functional-testing/clmp


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r3547 - trunk/functional-testing/clmp
  • Date: Tue, 25 Mar 2008 08:33:25 -0400

Author: reinwand
Date: 2008-03-25 08:33:23 -0400 (Tue, 25 Mar 2008)
New Revision: 3547

Added:
trunk/functional-testing/clmp/anyElement.rnc
trunk/functional-testing/clmp/cl-mp-cron-add-req.rnc
trunk/functional-testing/clmp/cl-mp-cron-list-req.rnc
trunk/functional-testing/clmp/cl-mp-cron-list-res.rnc
trunk/functional-testing/clmp/cl-mp-cron-modify-req.rnc
trunk/functional-testing/clmp/cl-mp-cron-remove-req.rnc
trunk/functional-testing/clmp/cl-mp-cron-req.rnc
trunk/functional-testing/clmp/soapui-settings.xml
Modified:
trunk/functional-testing/clmp/CLMP-soapui-project.xml
trunk/functional-testing/clmp/README-tests.txt
trunk/functional-testing/clmp/cl-mp-bwctlreq.rnc
trunk/functional-testing/clmp/cl-mp-bwctlres.rnc
trunk/functional-testing/clmp/cl-mp-owampreq.rnc
trunk/functional-testing/clmp/cl-mp-owampres.rnc
trunk/functional-testing/clmp/cl-mp-pingreq.rnc
trunk/functional-testing/clmp/cl-mp-pingres.rnc
trunk/functional-testing/clmp/cl-mp-traceroutereq.rnc
trunk/functional-testing/clmp/cl-mp-tracerouteres.rnc
trunk/functional-testing/clmp/cl-mp-tracerouteres.wsdl
trunk/functional-testing/clmp/rnc2xsd.sh
Log:
CL-MP functional testing:
- Finished traceroute support tests
- added soapui-settings.xml to SVN (might be useful)
- updated RNCs to RC3
- added RNCs for scheduling (cron) support



Modified: trunk/functional-testing/clmp/CLMP-soapui-project.xml
===================================================================
--- trunk/functional-testing/clmp/CLMP-soapui-project.xml 2008-03-25
10:22:51 UTC (rev 3546)
+++ trunk/functional-testing/clmp/CLMP-soapui-project.xml 2008-03-25
12:33:23 UTC (rev 3547)
@@ -4277,7 +4277,7 @@
</con:assertion>
</con:request>
</con:config>
- </con:testStep><con:testStep type="request" name="padding=100000">
+ </con:testStep><con:testStep type="request" name="padding=100000"
disabled="true">
<con:settings/>
<con:config type="con:RequestStep" xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<con:interface>CL-MP-OWAMP</con:interface>
@@ -4940,7 +4940,7 @@
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn='http://www.w3.org/2005/xpath-functions';

-fn:string(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType)</path><content>success.echo</content></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite

name="CL-MP-PING"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Well formed and valid"
searchProperties="true"><con:settings/><con:testStep type="request"
name="default"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="default"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/
soap/envelope/" xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+fn:string(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType)</path><content>success.echo</content></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite

name="CL-MP-PING"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Well formed and valid" searchProperties="true"
id="47c504fa-ed05-480b-b7ef-0f8ec26d62f3"><con:settings/><con:testStep
type="request" name="default"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="default"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
<soapenv:Header/>
<soapenv:Body>
<nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/";>
@@ -5268,7 +5268,7 @@
and
(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@timeValue
satisfies ($timeValue > 0))
and
-(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Well formed but invalid"
searchProperties="true"><con:settings/><con:testStep type="request" name="src
and dst"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="src and
dst"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/
base/2.0/" xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="false" keepSession="false"
name="Well formed but invalid" searchProperties="true"
id="adaf04c6-773d-42c1-906c-1a7823856e28"
timeout="0"><con:settings/><con:testStep type="request" name="src and
dst"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="src and
dst"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlso
ap.org/soap/envelope/" xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
<soapenv:Header/>
<soapenv:Body>
<nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/";>
@@ -5544,12 +5544,16 @@
<nmwg:data id="1" metadataIdRef="meta1"/>
</nmwg:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-pingres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';

-/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content>&lt;nmwg:data
id="data1" metadataIdRef="meta1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ &lt;ping:datum numBytes="64" numBytesUnits="bytes" seqNum="1"
timeType="unix" timeValue="*" ttl="*" value="*" valueUnits="ms"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+ &lt;ping:datum numBytes="64" numBytesUnits="bytes" seqNum="2"
timeType="unix" timeValue="*" ttl="*" value="*" valueUnits="ms"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+ &lt;ping:datum numBytes="64" numBytesUnits="bytes" seqNum="3"
timeType="unix" timeValue="*" ttl="*" value="*" valueUnits="ms"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+&lt;/nmwg:data></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
@@ -5587,12 +5591,16 @@
<nmwg:data id="1" metadataIdRef="meta1"/>
</nmwg:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-pingres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';

-/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content>&lt;nmwg:data
id="data1" metadataIdRef="meta1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ &lt;ping:datum numBytes="8" numBytesUnits="bytes" seqNum="1"
timeType="unix" timeValue="*" ttl="*"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+ &lt;ping:datum numBytes="8" numBytesUnits="bytes" seqNum="2"
timeType="unix" timeValue="*" ttl="*"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+ &lt;ping:datum numBytes="8" numBytesUnits="bytes" seqNum="3"
timeType="unix" timeValue="*" ttl="*"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+&lt;/nmwg:data></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
@@ -5611,7 +5619,7 @@
and
(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@timeValue
satisfies ($timeValue > 0))
and
-(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="packetsize=7"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="packetsize=7"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="packetsize=0"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="packetsize=0"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
<soapenv:Header/>
<soapenv:Body>
<nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/";>
@@ -5624,7 +5632,7 @@

<nmwg:eventType>http://ggf.org/ns/nmwg/tools/ping/2.0</nmwg:eventType>
<ping:parameters id="param1">
<nmwg:parameter name="count">3</nmwg:parameter>
- <nmwg:parameter name="packetSize">7</nmwg:parameter>
+ <nmwg:parameter name="packetSize">0</nmwg:parameter>
</ping:parameters>
</nmwg:metadata>
<nmwg:data id="1" metadataIdRef="meta1"/>
@@ -5635,7 +5643,12 @@
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';

-/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content>&lt;nmwg:data
id="data1" metadataIdRef="meta1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content>&lt;nmwg:data
id="data1" metadataIdRef="meta1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ &lt;ping:datum numBytes="8" numBytesUnits="bytes" seqNum="1"
timeType="unix" timeValue="*" ttl="*"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+ &lt;ping:datum numBytes="8" numBytesUnits="bytes" seqNum="2"
timeType="unix" timeValue="*" ttl="*"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+ &lt;ping:datum numBytes="8" numBytesUnits="bytes" seqNum="3"
timeType="unix" timeValue="*" ttl="*"
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/"/>
+&lt;/nmwg:data>
+</content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
@@ -5744,7 +5757,7 @@
and
(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@timeValue
satisfies ($timeValue > 0))
and
-(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="Missing end tag metadata"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing end tag
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:ns="ht
tp://ggf.org/ns/nmwg/base/2.0/"
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed requests" searchProperties="true"
id="858a084b-e00f-4881-9816-e73e1c634671"><con:settings/><con:testStep
type="request" name="Missing end tag metadata"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing end tag
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schema
s.xmlsoap.org/soap/envelope/" xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
<soapenv:Header/>
<soapenv:Body>
<nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/";>
@@ -6241,4 +6254,1671 @@
and
(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@timeValue
satisfies ($timeValue > 0))
and
-(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties><con:property><con:name>bwctl.dst</con:name><con:value>131.188.81.61</con:value></con:property><con:property><con:name>bwctl.src</con:name><con:value>131.188.81.28</con:value></con:property><con:property><con:name>owamp.src</con:name><con:value>131.188.81.28</con:value></con:property><con:property><con:name>owamp.dst</con:name><con:value>131.188.81.61</con:value></con:property><con:property><con:name>ping.dst</con:name><con:value>131.188.81.61</con:value></con:property><con:property><con:name>ping.src</con:name><con:value>131.188.81.28</con:value></con:property></con:properties><con:wssContainer/></con:soapui-project>
\ No newline at end of file
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/ping:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite

name="CL-MP-TRACEROUTE"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Well formed and valid" searchProperties="true"
id="ccedd9c6-acd5-4abd-870c-09ebe1eafc83"><con:settings/><con:testStep
type="request" name="default"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="default"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandL
ineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="packetSize=500"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="packetSize=500"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="packetSize">500</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="500" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="500" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="500" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="500" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="500" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="500" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="firstTtl=1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="firstTtl=1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="firstTtl">1</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content>&lt;nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ &lt;traceroute:datum hop="*" hopMax="30" numBytes="40"
numBytesUnits="byte" queryNum="1" seqNum="2" timeType="unix" timeValue="*"
value="*" valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ &lt;traceroute:datum hop="*" hopMax="30" numBytes="40"
numBytesUnits="byte" queryNum="2" seqNum="2" timeType="unix" timeValue="*"
value="*" valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ &lt;traceroute:datum hop="*" hopMax="30" numBytes="40"
numBytesUnits="byte" queryNum="3" seqNum="2" timeType="unix" timeValue="*"
value="*" valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+&lt;/nmwg:data></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="maxTtl=6"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="maxTtl=6"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="maxTtl">6</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="displayTtl" disabled="true"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="displayTtl"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="displayTtl"/>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="waitTime=5"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="waitTime=5"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="waitTime">5</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="pause=5"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="pause=5"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="pause">5</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="dontFragment"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="dontFragment"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="dontFragment"/>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="icmp" disabled="true"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="icmp"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="icmp"/>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="port=12345"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="port=12345"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="port">12345</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="tos=0xb8" disabled="true"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="tos=0xb8"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="tos">0xb8</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="numQueries=5"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request

name="numQueries=5"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="numQueries">5</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="4" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="5" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="4" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="5" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
name="Well formed but invalid" searchProperties="true"
id="f10669b5-00d7-4377-b474-55d0c2525f82"
timeout="0"><con:settings/><con:testStep type="request" name="src and
dst"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="src and
dst"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.
xmlsoap.org/soap/envelope/" xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ <nmwgt:src type="ipv4" value="${#Project#traceroute.src}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="src, no dst"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="src, no
dst"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:src type="ipv4" value="${#Project#traceroute.src}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="No src, no dst"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="No src, no
dst"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid dst ip"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid dst
ip"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="300.32.10.220"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid packetSize"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
packetSize"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="packetSize">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid firstTtl"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
firstTtl"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="firstTtl">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid maxTtl"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
maxTtl"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="maxTtl">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid displayTtl"
disabled="true"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
displayTtl"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="displayTtl">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="6" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid waitTime"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
waitTime"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="waitTime">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid pause"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
pause"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="pause">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid dontFragment"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
dontFragment"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="dontFragment">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid icmp"
disabled="true"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
icmp"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="icmp">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Schema
Compliance"><con:configuration><definition>file:./cl-mp-tracerouteres.wsdl</definition></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="XPath Match" name="data
element - all ok - wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid port"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
port"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="port">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid tos"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
tos"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="tos">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Invalid numQueries"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Invalid
numQueries"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="numQueries">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.system.tool_response"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.system.tool_response</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Unknown parameter"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Unknown
parameter"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1">
+ <nmwg:parameter name="WRONG">WRONG</nmwg:parameter>
+ </traceroute:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="data element - all ok -
wildcards"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data</path><content><![CDATA[<nmwg:data
id="data1" metadataIdRef="tracerouteRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="1" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="1" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="2" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+ <traceroute:datum hop="*" hopMax="30" numBytes="40" numBytesUnits="byte"
queryNum="3" seqNum="2" timeType="unix" timeValue="*" value="*"
valueUnits="ms"
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/"/>
+</nmwg:data>]]></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="MIssing end tag metadata"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="MIssing end tag
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:
ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="Not SOAP Fault
Assertion"/></con:request></con:config></con:testStep><con:testStep
type="request" name="Wrong message/type"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Wrong
message/type"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="WRONG"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.common.action_not_supported"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.common.action_not_supported</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing message/type"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing
message/type"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.common.action_not_supported"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.common.action_not_supported</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Wrong metadata/id"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Wrong
metadata/id"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="WRONG">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
warning.common.no_metadata"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>warning.common.no_metadata</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="MIssing metadata/id"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="MIssing
metadata/id"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata>
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
warning.common.no_metadata"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>warning.common.no_metadata</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing metadata/subject"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing
metadata/subject"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing
subject/endPointPair"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing
subject/endPointPair"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Wrong metadata/eventType"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Wrong
metadata/eventType"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>WRONG</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.unsupported_tool"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.unsupported_tool</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing metadata/eventType"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing
metadata/eventType"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing metadata/parameters"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing
metadata/parameters"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="tracerouteRequest" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
error.mp.clmp.validator.malformed_request"><con:configuration><path>declare
namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>error.mp.clmp.validator.malformed_request</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing data (trigger)"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing data
(trigger)"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
warning.common.no_metadata"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>warning.common.no_metadata</content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Wrong data/metadataIdRef"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Wrong
data/metadataIdRef"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1" metadataIdRef="WRONG" />
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
warning.common.no_metadata"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>warning.common.no_metadata</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Missing data/metadataIdRef"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>CL-MP-PING</con:interface><con:operation>Measurement</con:operation><con:request
name="Missing
data/metadataIdRef"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://131.188.81.28:8080/perfSONAR-CLMP/services/CommandLineService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:ns1="http://ggf.org/ns/nmwg/tools/ping/2.0/";
xmlns:ns2="http://ggf.org/ns/nmwg/topology/2.0/";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <nmwg:message id="msg1" type="MeasurementRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
xmlns:traceroute="http://ggf.org/ns/nmwg/tools/traceroute/2.0/";>
+ <nmwg:metadata id="tracerouteRequest">
+ <traceroute:subject id="sub1">
+ <nmwgt:endPointPair>
+ <nmwgt:dst type="ipv4" value="${#Project#traceroute.dst}"/>
+ </nmwgt:endPointPair>
+ </traceroute:subject>
+ <nmwg:eventType>
http://ggf.org/ns/nmwg/tools/traceroute/2.0</nmwg:eventType>
+ <traceroute:parameters id="param1"/>
+ </nmwg:metadata>
+ <nmwg:data id="1"/>
+ </nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match" name="perfSONAR error:
warning.common.no_metadata"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>warning.common.no_metadata</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="count metadata = count
data"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(count(//nmwg:message/nmwg:data) =
count(//nmwg:message/nmwg:metadata))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="type =
MeassurementResponse"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace ping='http://ggf.org/ns/nmwg/tools/ping/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+//nmwg:message/@type</path><content>MeasurementResponse</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="XPath Match" name="ttl > 0, value>0,
timeValue>0"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace traceroute='http://ggf.org/ns/nmwg/tools/traceroute/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
+(every $timeValue in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@timeValue
satisfies ($timeValue > 0))
+and
+(every $value in
/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/traceroute:datum/@value
satisfies ($value >
0))</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties><con:property><con:name>bwctl.dst</con:name><con:value>131.188.81.61</con:value></con:property><con:property><con:name>bwctl.src</con:name><con:value>131.188.81.28</con:value></con:property><con:property><con:name>owamp.src</con:name><con:value>131.188.81.28</con:value></con:property><con:property><con:name>owamp.dst</con:name><con:value>131.188.81.61</con:value></con:property><con:property><con:name>ping.dst</con:name><con:value>131.188.81.61</con:value></con:property><con:property><con:name>ping.src</con:name><con:value>131.188.81.28</con:value></con:property><con:property><con:name>traceroute.dst</con:name><con:value>131.188.30.103</

con:value></con:property><con:property><con:name>traceroute.src</con:name><con:value>131.188.81.28</con:value></con:property></con:properties><con:wssContainer/></con:soapui-project>
\ No newline at end of file

Modified: trunk/functional-testing/clmp/README-tests.txt
===================================================================
--- trunk/functional-testing/clmp/README-tests.txt 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/README-tests.txt 2008-03-25 12:33:23
UTC (rev 3547)
@@ -30,7 +30,7 @@
service.


-1.2. Generic XPath tests
+1.2. Generic tests

CL MP adds the data parameters timeType and timeValue to every measurement,
no matter which service (ping, traceroute, OWAMP, or BWCTL) was queried.
@@ -198,6 +198,10 @@
Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
Check Response for: Generic tests without failing.
XPath check for error eventType.
+EXCEPTION:
+Expects: Invalid arameter is ignored. This is/might be a bug in ping, but
CL-MP
+ just passes it through. So a normal response is expected.
+Check Response for: Generic tests.

2.3.2.8. Invalid packetSize

@@ -205,10 +209,14 @@
Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
Check Response for: Generic tests without failing.
XPath check for error eventType.
+EXCEPTION:
+Expects: Invalid arameter is ignored. This is/might be a bug in ping, but
CL-MP
+ just passes it through. So a normal response is expected.
+Check Response for: Generic tests.

-2.3.2.9. packetSize=7
+2.3.2.9. packetSize=0

-Specifies: packetSize is 7 (bytes), count is 3.
+Specifies: packetSize is 0 (bytes, smallest possible), count is 3.
Expects: Valid response, but no data. For packet sizes smaller 8 bytes, this
is a reproduceable problem of ping.
Check Response for: Generic tests.
@@ -340,12 +348,402 @@


3. Traceroute request
-3.1. Well formed and valid requests
-3.2. Well formed, but invalid requests
-3.3. Malformed requests


+3.1. Possible parameters

+The following list maps the available parameters in the request message to
the
+corresponding command line parameters of traceroute:
+
+packetSize: additional none option parameter
+firstTtl: -f
+maxTtl: -m
+displayTtl: -l (only for Linux)
+waitTime: -w
+pause: -z
+dontFragment: -F
+icmp: -I
+port: -p
+tos: -t
+numQueries: -q
+
+
+3.2. Generic tests
+
+This section includes checks that are general for all tests concerning the
+Traceroute Request.
+
+3.2.1. (//nmwg:message/@type)= MetadataKeyResponse
+
+Just to see if the right type is sent back.
+
+3.2.2. (count(//nmwg:message/nmwg:data)=count(//nmwg:message/nmwg:metadata))
+
+Checking that the number of metadata is equal to the number of data
+
+3.2.3. Valid data tests
+
+To test a response message if it contains correct data some generic XPath
+tests are used. More specific tests might be used in individual tests. See
+soapUI project for the specific tests.
+
+(Typical) output from traceroute:
+traceroute to 1.2.3.4 (FQHN), AA hops max, BB CC packets
+ DD 1.2.3.5 EE FF EE FF EE FF
+ DD 1.2.3.6 EE FF EE FF EE FF
+
+In the following list you will find the perfSONAR parameter names, in
+brackets the two capital place holders from the ping output above and some
+notes on how the generic XPath tests try to check them:
+
+
+hop (1.2.3.5, 1.2.3.6): The hop that is reached with current ttl value.
Should
+ be a valid IP address.
+hopMax (AA): Maximum number of hops (maximal ttl value)
+ Check = default or set via maxTtl
+numBytes (BB): The packet size.
+ Check = default or set via packetSize
+numBytesUnits (CC):
+ Check = "byte" or depends on packetSize
+queryNum (number of "EE FF" or "*"): Sequence number of sent packet for every
+ ttl value.
+ Check 1..counts
+ IMPORTANT: We assume no packet loss and no errors, which is ok for
functional
+ testing!
+seqNum (DD): Current ttl value.
+ Check 1..counts.
+value (EE): Depends on round trip time of package.
+ Check > 0.
+valueUnits (FF): Depends on round trip time of package, but normally you
+ would expect "ms".
+ Check = "ms".
+timeValue: Time when response is parsed. Expected to be UNIX Epoch seconds.
+ Check > 0.
+timeType: Type of timeValue. Expected to be "unix".
+ Check = "unix".
+
+
+3.3. Tests
+
+
+3.3.1. Well formed and valid requests
+
+2.3.1.1. defaults
+
+Specifies: Only destination IP address.
+Expects: Valid response (10 data elements).
+Check Response for: Generic tests.
+
+2.3.1.2. packetSize=500
+
+Specifies: Destination IP address, and packetSize is 500 (bytes).
+Expects: Valid response, numBytes is now 500.
+Check Response for: Generic tests.
+
+2.3.1.3. firstTtl=1
+
+Specifies: Destination IP address, and firstTtl is 1.
+Expects: Valid response, no entries for first hop (ttl=0).
+Check Response for: Generic tests.
+
+2.3.1.4. maxTtl=6
+
+Specifies: Destination IP address, and maxTtl is 6.
+Expects: Valid response, no entries for hops greater 6 (maximum for RedHat 5
+ traceroute).
+Check Response for: Generic tests.
+
+2.3.1.5. displayTtl
+
+Specifies: Destination IP address, and displayTtl is set.
+Expects: Unknown. Parameter not explained anywhere. TODO
+Check Response for: Generic tests.
+EXCEPTION:
+Parameter not available on any traceroute I found.
+-> Test disabled!
+
+2.3.1.6. waitTime=5
+
+Specifies: Destination IP address, and waitTime is 5.
+Expects: Valid response, higher waitTime has no obvious influence.
+Check Response for: Generic tests.
+
+2.3.1.7. pause=5
+
+Specifies: Destination IP address, and waitTime is 5.
+Expects: Valid response, higher waitTime has no obvious influence.
+Check Response for: Generic tests.
+
+2.3.1.8. dontFragment
+
+Specifies: Destination IP address, and dontFragment is set.
+Expects: Valid response, dontFragment has no obvious influence.
+Check Response for: Generic tests.
+
+2.3.1.9. icmp
+
+Specifies: Destination IP address, and icmp is set.
+Expects: Valid response, icmp has no obvious influence.
+Check Response for: Generic tests.
+EXCEPTION:
+Test disabled, because only possible with root privileges. Just enable it if
+execution is possible with root privileges.
+
+2.3.1.10. port=12345
+
+Specifies: Destination IP address, and port is 12345.
+Expects: Valid response, a different port (normally) has no obvious
influence.
+Check Response for: Generic tests.
+
+2.3.1.11. tos=0xb8
+
+Specifies: Destination IP address, and tos is 0xb8.
+Expects: Valid response, a different tos value has no obvious influence.
+Check Response for: Generic tests.
+EXCEPTION:
+Test disabled, because only possible with root privileges. Just enable it if
+execution is possible with root privileges.
+
+2.3.1.3. numQueries=5
+
+Specifies: Destination IP address, and numQueries is 5.
+Expects: Valid response, 5 datum elements instead of 3 per hop.
+Check Response for: Generic tests.
+
+
+3.3.2. Well formed, but invalid requests
+
+3.3.2.1. src and dst
+
+Specifies: Destination IP address, and src is set to local address.
+Expects: Valid response, src is ignored.
+Check Response for: Generic tests.
+
+3.3.2.2. src, no dst
+
+Specifies: No destination IP address.
+Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
+ src is ignored with owping, whereas missing dst is an error.
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.3. No src, no dst
+
+Specifies: No destination or source IP address.
+Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.4. Invalid dst ip
+
+Specifies: Invalid destination IP address (300.32.10.220).
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.5. Invalid packetSize
+
+Specifies: Invalid packetSize.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.6. Invalid firstTtl
+
+Specifies: Invalid firstTtl.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.6. Invalid maxTtl
+
+Specifies: Invalid maxTtl.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.7. Invalid displayTtl
+
+Specifies: Invalid displayTtl.
+Expects: Value for displayTtl is ignored, because displayTtl is only a
boolean
+ parameter -> no error condition is raised.
+Check Response for: Generic tests without failing.
+EXCEPTION:
+Parameter not available on any traceroute I found.
+-> Test disabled!
+
+3.3.2.8. Invalid waitTime
+
+Specifies: Invalid waitTime.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.9. Invalid pause
+
+Specifies: Invalid pause.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.10. Invalid dontFragment
+
+Specifies: Invalid dontFragment.
+Expects: Value for dontFragment is ignored, because dontFragment is only a
+ boolean parameter -> no error condition is raised.
+Check Response for: Generic tests without failing.
+
+3.3.2.11. Invalid icmp
+
+Specifies: Invalid icmp.
+Expects: Value for icmp is ignored, because icmp is only a boolean parameter
+ -> no error condition is raised.
+Check Response for: Generic tests without failing.
+EXCEPTION:
+Test disabled, because only possible with root privileges. Just enable it if
+execution is possible with root privileges.
+
+3.3.2.12. Invalid port
+
+Specifies: Invalid port.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.13. Invalid tos
+
+Specifies: Invalid tos.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.14. Invalid numQueries
+
+Specifies: Invalid numQueries.
+Expects: perfSONAR error: error.mp.clmp.system.tool_response
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.2.15. Unknown parameter
+
+Specifies: Unknown parameter.
+Expects: Correct response containing data.
+ Parameter ignored -> no error condition is raised.
+ BUT: Schema validation fails!
+Check Response for: Generic tests without failing Schema validation.
+
+
+3.3.3. Malformed requests
+
+3.3.3.1. Missing end tag metadata
+
+Specifies: Normal request. The end tag of the metadata element is missing.
+Expects: SOAP error: soapenv:Server.userException
+ Parsing of message failing at early stage. This happens for most XML syntax
+ errors.
+Check Response for: SOAP Fault.
+
+3.3.3.2. Wrong message/type
+
+Specifies: Normal request. Attribute "type" in element "message" is wrong.
+Expects: perfSONAR error: error.common.action_not_supported
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.3. Missing message/type
+
+Specifies: Normal request. Attribute "type" in element "message" is missing.
+Expects: perfSONAR error: error.common.action_not_supported
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.4. Wrong metadata/id
+
+Specifies: Normal request. Attribute "id" in element "metadata" is wrong.
+Expects: perfSONAR error: warning.common.no_metadata
+ Because of the wrong id, the service cannot correlate the metadata to the
+ data (trigger) element.
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.5. Missing metadata/id
+
+Specifies: Normal request. Attribute "id" in element "metadata" is missing.
+Expects: perfSONAR error: warning.common.no_metadata
+ Because of the missing id, the service cannot correlate the metadata to the
+ data (trigger) element.
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.6. Missing metadata/subject
+
+Specifies: Normal request. Element "subject" in element "metadata" is
missing.
+Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.7. Missing subject/endPointPair
+
+Specifies: Normal request. Element "endPointPair" in element "metadata" is
+ missing.
+Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.8. Wrong metadata/eventType
+
+Specifies: Normal request. Wrong text in element "eventType" in element
+ "metadata".
+Expects: perfSONAR error: error.mp.clmp.unsupported_tool
+ Service can not determine correct measurement type.
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.9. Missing metadata/eventType
+
+Specifies: Normal request. Missing element "eventType" in element "metadata".
+Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.10. Missing metadata/parameters
+
+Specifies: Normal request. Element "parameters" in element "metadata" is
+ missing.
+Expects: perfSONAR error: error.mp.clmp.validator.malformed_request
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.11. Missing data (trigger)
+
+Specifies: Normal request. data Element missing.
+Expects: perfSONAR error: warning.common.no_metadata
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.12. Wrong data/metadataIdRef
+
+Specifies: Normal request. Attribute "metadataIdRef" in element "data" is
+ wrong.
+Expects: perfSONAR error: warning.common.no_metadata
+ Because of the wrong id, the service can not correlate the metadata
+ to the data (trigger) element.
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+3.3.3.12. Missing data/metadataIdRef
+
+Specifies: Normal request. Attribute "metadataIdRef" in element "data" is
+ missing.
+Expects: perfSONAR error: warning.common.no_metadata
+ Because of the missing id, the service can not correlate the metadata
+ to the data (trigger) element.
+Check Response for: Generic tests without failing.
+ XPath check for error eventType.
+
+
+
+
4. OWAMP request


@@ -366,7 +764,7 @@
Missing parameters: -b -z


-4.2. Generic XPath tests on results
+4.2. Generic tests

To test a response message if it contains correct data some generic XPath
tests are used. More specific tests might be used in individual tests. See
@@ -511,6 +909,7 @@
Request: Parameter padding set to 100000.
Response: perfSONAR error: error.mp.clmp.system.tool_response
Packet size to large.
+DISABLED: Result depends heavily on underlying OWAMP/owping.

4.3.2.14. Unknown parameter
Request: Unknown parameter set.

Added: trunk/functional-testing/clmp/anyElement.rnc

Modified: trunk/functional-testing/clmp/cl-mp-bwctlreq.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-bwctlreq.rnc 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-bwctlreq.rnc 2008-03-25 12:33:23
UTC (rev 3547)
@@ -96,4 +96,4 @@
}

MetadataIdentifierRef =
- attribute metadataIdRef { xsd:string }
+ attribute metadataIdRef { xsd:string }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-bwctlres.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-bwctlres.rnc 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-bwctlres.rnc 2008-03-25 12:33:23
UTC (rev 3547)
@@ -116,4 +116,4 @@
attribute valueUnits { xsd:string } &
attribute timeType { xsd:string } &
attribute timeValue { xsd:string }
- }
+ }
\ No newline at end of file

Added: trunk/functional-testing/clmp/cl-mp-cron-add-req.rnc

Added: trunk/functional-testing/clmp/cl-mp-cron-list-req.rnc

Added: trunk/functional-testing/clmp/cl-mp-cron-list-res.rnc

Added: trunk/functional-testing/clmp/cl-mp-cron-modify-req.rnc

Added: trunk/functional-testing/clmp/cl-mp-cron-remove-req.rnc

Added: trunk/functional-testing/clmp/cl-mp-cron-req.rnc

Modified: trunk/functional-testing/clmp/cl-mp-owampreq.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-owampreq.rnc 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-owampreq.rnc 2008-03-25 12:33:23
UTC (rev 3547)
@@ -1,84 +1,82 @@
-namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
-namespace nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
-namespace owamp="http://ggf.org/ns/nmwg/tools/owamp/2.0/";
-
-start = element nmwg:message { MessageContent }
-
-MessageContent =
- Identifier? &
- MessageIdentifierRef? &
- Type &
- (
- OwampMetadata &
- OwampData
- )+
-
-Identifier =
- attribute id { xsd:string }
-
-MessageIdentifierRef =
- attribute messageIdRef { xsd:string }
-
-Type =
- attribute type { "MeasurementRequest" }
-
-OwampMetadata =
- element nmwg:metadata {
- Identifier &
- OwampMetadataContent
- }
-
-OwampMetadataContent =
- OwampSubject &
- OwampParameters &
- EventType
-
-OwampSubject =
- element owamp:subject {
- Identifier &
- EndpointPair
- }
-
-EndpointPair =
- element nmwgt:endPointPair { EndpointPairContent }
-
-EndpointPairContent =
- element nmwgt:src { EndpointContent }? &
- element nmwgt:dst { EndpointContent }
-
-EndpointContent =
- (
- attribute value { xsd:string } |
- text
- ) &
- attribute type { xsd:string }
-
-EventType =
- element nmwg:eventType { "http://ggf.org/ns/nmwg/tools/owamp/2.0"; }
-
-OwampParameters =
- element owamp:parameters {
- Identifier &
- OwampParameter*
- }
-
-OwampParameter =
- element nmwg:parameter {
- attribute name { "count" | "dscp" | "phb" | "wait" |
- "timeOut" | "padding" | "delayStart" |
- "portRange" | "direction" } &
- (
- attribute value { text } |
- text
- )
- }
-
-OwampData =
- element nmwg:data {
- Identifier &
- MetadataIdentifierRef
- }
-
-MetadataIdentifierRef =
-attribute metadataIdRef { xsd:string }
-
+namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+namespace nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
+namespace owamp="http://ggf.org/ns/nmwg/tools/owamp/2.0/";
+
+start = element nmwg:message { MessageContent }
+
+MessageContent =
+Identifier? &
+MessageIdentifierRef? &
+Type &
+ (
+OwampMetadata &
+OwampData
+)+
+
+Identifier =
+attribute id { xsd:string }
+
+MessageIdentifierRef =
+attribute messageIdRef { xsd:string }
+
+Type =
+ attribute type { "MeasurementRequest" }
+
+OwampMetadata =
+ element nmwg:metadata {
+ Identifier &
+ OwampMetadataContent
+ }
+
+OwampMetadataContent =
+ OwampSubject &
+ OwampParameters &
+ EventType
+
+OwampSubject =
+ element owamp:subject {
+ Identifier &
+ EndpointPair
+ }
+
+EndpointPair =
+ element nmwgt:endPointPair { EndpointPairContent }
+
+EndpointPairContent =
+ element nmwgt:src { EndpointContent }? &
+ element nmwgt:dst { EndpointContent }
+
+EndpointContent =
+ (
+ attribute value { xsd:string } |
+ text
+ ) &
+ attribute type { xsd:string }
+
+EventType =
+ element nmwg:eventType { "http://ggf.org/ns/nmwg/tools/owamp/2.0"; }
+
+OwampParameters =
+ element owamp:parameters {
+ Identifier &
+ OwampParameter*
+ }
+
+OwampParameter =
+ element nmwg:parameter {
+ attribute name { "count" | "dscp" | "phb" | "wait" |
"endDelay" |
+ "timeOut" | "padding" | "portRange" |
"direction" } &
+ (
+ attribute value { text } |
+ text
+ )
+ }
+
+OwampData =
+ element nmwg:data {
+ Identifier &
+ MetadataIdentifierRef
+ }
+
+MetadataIdentifierRef =
+attribute metadataIdRef { xsd:string }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-owampres.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-owampres.rnc 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-owampres.rnc 2008-03-25 12:33:23
UTC (rev 3547)
@@ -1,98 +1,96 @@
-namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
-namespace nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
-namespace owamp="http://ggf.org/ns/nmwg/tools/owamp/2.0/";
-
-start = element nmwg:message { MessageContent }
-
-MessageContent =
- Identifier? &
- MessageIdentifierRef? &
- Type &
- OwampMetadata+ &
- OwampData+
-
-
-Identifier =
- attribute id { xsd:string }
-
-MessageIdentifierRef =
-attribute messageIdRef { xsd:string }
-
-Type =
- attribute type { "MeasurementResponse" }
-
-OwampMetadata =
- element nmwg:metadata {
- Identifier &
- OwampMetadataContent
- }
-
-OwampMetadataContent =
- OwampSubject &
- OwampParameters &
- EventType
-
-OwampSubject =
- element owamp:subject {
- Identifier &
- EndpointPair
- }
-
-EndpointPair =
- element nmwgt:endPointPair { EndpointPairContent }
-
-EndpointPairContent =
- element nmwgt:src { EndpointContent }? &
- element nmwgt:dst { EndpointContent }
-
-EndpointContent =
- (
- attribute value { xsd:string } |
- text
- ) &
- attribute type { xsd:string }
-
-EventType =
- element nmwg:eventType { "http://ggf.org/ns/nmwg/tools/owamp/2.0"; }
-
-OwampParameters =
- element owamp:parameters {
- Identifier &
- OwampParameter*
- }
-
-OwampParameter =
- element nmwg:parameter {
- attribute name { "count" | "dscp" | "phb" | "wait" |
- "timeOut" | "padding" | "delayStart" |
- "portRange" | "direction" } &
- (
- attribute value { text } |
- text
- )
- }
-
-OwampData =
- element nmwg:data {
- Identifier &
- MetadataIdentifierRef &
- OwampDatum*
- }
-
-MetadataIdentifierRef =
-attribute metadataIdRef { xsd:string }
-
-OwampDatum =
- element owamp:datum {
- attribute receiveSynchronized { xsd:int } &
- attribute receiveTime { xsd:string } &
- attribute receiveTimeError { xsd:float } &
- attribute sendSynchronized { xsd:int } &
- attribute sendTime { xsd:string } &
- attribute sendTimeError { xsd:float } &
- attribute ttl { xsd:int } &
- attribute seqNum { xsd:int } &
- attribute timeType { xsd:string } &
- attribute timeValue { xsd:string }
- }
-
+namespace nmwg ="http://ggf.org/ns/nmwg/base/2.0/";
+namespace nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
+namespace owamp="http://ggf.org/ns/nmwg/tools/owamp/2.0/";
+
+start = element nmwg:message { MessageContent }
+
+MessageContent =
+Identifier? &
+MessageIdentifierRef? &
+Type &
+OwampMetadata+ &
+OwampData+
+
+
+Identifier =
+attribute id { xsd:string }
+
+MessageIdentifierRef =
+attribute messageIdRef { xsd:string }
+
+Type =
+ attribute type { "MeasurementResponse" }
+
+OwampMetadata =
+ element nmwg:metadata {
+ Identifier &
+ OwampMetadataContent
+ }
+
+OwampMetadataContent =
+ OwampSubject &
+ OwampParameters &
+ EventType
+
+OwampSubject =
+ element owamp:subject {
+ Identifier &
+ EndpointPair
+ }
+
+EndpointPair =
+ element nmwgt:endPointPair { EndpointPairContent }
+
+EndpointPairContent =
+ element nmwgt:src { EndpointContent }? &
+ element nmwgt:dst { EndpointContent }
+
+EndpointContent =
+ (
+ attribute value { xsd:string } |
+ text
+ ) &
+ attribute type { xsd:string }
+
+EventType =
+ element nmwg:eventType { "http://ggf.org/ns/nmwg/tools/owamp/2.0"; }
+
+OwampParameters =
+ element owamp:parameters {
+ Identifier &
+ OwampParameter*
+ }
+
+OwampParameter =
+ element nmwg:parameter {
+ attribute name { "count" | "dscp" | "phb" | "wait" |
"endDelay" |
+ "timeOut" | "padding" | "portRange" |
"direction" } &
+ (
+ attribute value { text } |
+ text
+ )
+ }
+
+OwampData =
+ element nmwg:data {
+ Identifier &
+ MetadataIdentifierRef &
+ OwampDatum*
+ }
+
+MetadataIdentifierRef =
+attribute metadataIdRef { xsd:string }
+
+OwampDatum =
+ element owamp:datum {
+ attribute receiveSynchronized { xsd:int } &
+ attribute receiveTime { xsd:string } &
+ attribute receiveTimeError { xsd:float } &
+ attribute sendSynchronized { xsd:int } &
+ attribute sendTime { xsd:string } &
+ attribute sendTimeError { xsd:float } &
+ attribute ttl { xsd:int } &
+ attribute seqNum { xsd:int } &
+ attribute timeType { xsd:string } &
+ attribute timeValue { xsd:string }
+ }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-pingreq.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-pingreq.rnc 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-pingreq.rnc 2008-03-25 12:33:23
UTC (rev 3547)
@@ -79,4 +79,4 @@
}

MetadataIdentifierRef =
-attribute metadataIdRef { xsd:string }
+attribute metadataIdRef { xsd:string }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-pingres.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-pingres.rnc 2008-03-25 10:22:51
UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-pingres.rnc 2008-03-25 12:33:23
UTC (rev 3547)
@@ -83,12 +83,14 @@

PingDatum =
element ping:datum {
- attribute value { xsd:float } &
- attribute valueUnits { xsd:string } &
+ (
+ attribute value { xsd:float } &
+ attribute valueUnits { xsd:string }
+ )? &
attribute numBytes { xsd:int } &
attribute numBytesUnits { xsd:string } &
attribute seqNum { xsd:int } &
attribute ttl { xsd:int } &
attribute timeType { xsd:string } &
- attribute timeValue { xsd:string }
- }
+ attribute timeValue { xsd:string }
+ }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-traceroutereq.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-traceroutereq.rnc 2008-03-25
10:22:51 UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-traceroutereq.rnc 2008-03-25
12:33:23 UTC (rev 3547)
@@ -80,4 +80,4 @@
}

MetadataIdentifierRef =
-attribute metadataIdRef { xsd:string }
+attribute metadataIdRef { xsd:string }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-tracerouteres.rnc
===================================================================
--- trunk/functional-testing/clmp/cl-mp-tracerouteres.rnc 2008-03-25
10:22:51 UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-tracerouteres.rnc 2008-03-25
12:33:23 UTC (rev 3547)
@@ -94,4 +94,4 @@
attribute hopMax { xsd:int } &
attribute timeType { xsd:string } &
attribute timeValue { xsd:string }
- }
+ }
\ No newline at end of file

Modified: trunk/functional-testing/clmp/cl-mp-tracerouteres.wsdl
===================================================================
--- trunk/functional-testing/clmp/cl-mp-tracerouteres.wsdl 2008-03-25
10:22:51 UTC (rev 3546)
+++ trunk/functional-testing/clmp/cl-mp-tracerouteres.wsdl 2008-03-25
12:33:23 UTC (rev 3547)
@@ -8,7 +8,7 @@
<types>
<schema elementFormDefault="qualified"
targetNamespace="http://ggf.org/ns/nmwg/base/2.0/";
xmlns="http://www.w3.org/2001/XMLSchema";>
- <include schemaLocation="cl-mp-owampres/cl-mp-owampres.xsd"/>
+ <include schemaLocation="cl-mp-tracerouteres/cl-mp-tracerouteres.xsd"/>
</schema>
</types>


Modified: trunk/functional-testing/clmp/rnc2xsd.sh
===================================================================
--- trunk/functional-testing/clmp/rnc2xsd.sh 2008-03-25 10:22:51 UTC (rev
3546)
+++ trunk/functional-testing/clmp/rnc2xsd.sh 2008-03-25 12:33:23 UTC (rev
3547)
@@ -1,7 +1,9 @@
#!/bin/bash

mkdir -p cl-mp-bwctlreq cl-mp-bwctlres cl-mp-owampreq cl-mp-owampres \
- cl-mp-pingreq cl-mp-pingres cl-mp-tracerouteres cl-mp-traceroutereq &&
+ cl-mp-pingreq cl-mp-pingres cl-mp-tracerouteres cl-mp-traceroutereq \
+ cl-mp-cron-add-req cl-mp-cron-list-req cl-mp-cron-list-res \
+ cl-mp-cron-modify-req cl-mp-cron-remove-req cl-mp-cron-req &&
trang cl-mp-pingreq.rnc cl-mp-pingreq/cl-mp-pingreq.xsd &&
trang cl-mp-pingres.rnc cl-mp-pingres/cl-mp-pingres.xsd &&
trang cl-mp-tracerouteres.rnc cl-mp-tracerouteres/cl-mp-tracerouteres.xsd &&
@@ -9,4 +11,11 @@
trang cl-mp-bwctlreq.rnc cl-mp-bwctlreq/cl-mp-bwctlreq.xsd &&
trang cl-mp-bwctlres.rnc cl-mp-bwctlres/cl-mp-bwctlres.xsd &&
trang cl-mp-owampreq.rnc cl-mp-owampreq/cl-mp-owampreq.xsd &&
-trang cl-mp-owampres.rnc cl-mp-owampres/cl-mp-owampres.xsd
+trang cl-mp-owampres.rnc cl-mp-owampres/cl-mp-owampres.xsd &&
+trang cl-mp-cron-add-req.rnc cl-mp-cron-add-req/cl-mp-cron-add-req.xsd &&
+trang cl-mp-cron-list-req.rnc cl-mp-cron-list-req/cl-mp-cron-list-req.xsd &&
+trang cl-mp-cron-list-res.rnc cl-mp-cron-list-res/cl-mp-cron-list-res.xsd &&
+trang cl-mp-cron-modify-req.rnc
cl-mp-cron-modify-req/cl-mp-cron-modify-req.xsd &&
+trang cl-mp-cron-remove-req.rnc
cl-mp-cron-remove-req/cl-mp-cron-remove-req.xsd &&
+trang cl-mp-cron-req.rnc cl-mp-cron-req/cl-mp-cron-req.xsd
+

Added: trunk/functional-testing/clmp/soapui-settings.xml



  • perfsonar: r3547 - trunk/functional-testing/clmp, svnlog, 03/25/2008

Archive powered by MHonArc 2.6.16.

Top of Page