perfsonar-dev - perfsonar: r4003 - trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI
Subject: perfsonar development work
List archive
- From:
- To:
- Subject: perfsonar: r4003 - trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI
- Date: Fri, 13 Jun 2008 06:33:15 -0400
Author: sasa.cavara
Date: 2008-06-13 06:33:14 -0400 (Fri, 13 Jun 2008)
New Revision: 4003
Modified:
trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI/FlowsaMA-soapui-project.xml
Log:
Modified:
trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI/FlowsaMA-soapui-project.xml
===================================================================
---
trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI/FlowsaMA-soapui-project.xml
2008-06-12 14:38:17 UTC (rev 4002)
+++
trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI/FlowsaMA-soapui-project.xml
2008-06-13 10:33:14 UTC (rev 4003)
@@ -2076,44 +2076,47 @@
</xs:complexType>
<xs:element name="start" type="nmtm:TimeContent"/>
<xs:element name="end" type="nmtm:TimeContent"/>
-</xs:schema>]]></con:content><con:type>http://www.w3.org/2001/XMLSchema</con:type></con:part></con:definitionCache></con:interface><con:testSuite
name="Valid and well formed
Requests"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false" name="Test
Steps" searchProperties="true"><con:settings/><con:testStep type="request"
name="flowStatistics"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="flowStatistics"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
+</xs:schema>]]></con:content><con:type>http://www.w3.org/2001/XMLSchema</con:type></con:part></con:definitionCache></con:interface><con:testSuite
name="Valid and well formed
Requests"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false" name="Test
Steps" searchProperties="true"
id="370996f0-51a9-49fc-b43c-331de74d1a75"><con:settings/><con:testStep
type="request" name="rawFlows-multiple sources-1 filter
rule"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="rawFlows-multiple sources-1 filter
rule"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
<soapenv:Header/>
<soapenv:Body>
-<nmwg:message type="SetupDataRequest" id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
- xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
- xmlns:stat="http://ggf.org/ns/nmwg/tools/flow/stat/2.0/"
- xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
- xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/"
- xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/">
+<nmwg:message id="msg1" type="SetupDataRequest"
+xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
+xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/"
+xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
+xmlns:raw="http://ggf.org/ns/nmwg/tools/flow/raw/2.0/"
+xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/">
<nmwg:metadata id="meta1">
- <flow:subject id="flowsub1">
+ <flow:subject id="flowsub1">
<nmwgtopo3:network id="network1">
- <nmwgtopo3:node id="router1">
- <nmwgtopo3:hostName>xsr03.asd001a.surf.net</nmwgtopo3:hostName>
- </nmwgtopo3:node>
- <nmwgtopo3:node id="router2">
- <nmwgtopo3:hostName>xsr03.asd002a.surf.net</nmwgtopo3:hostName>
- </nmwgtopo3:node>
- </nmwgtopo3:network>
+ <nmwgtopo3:node id="router1">
+ <nmwgtopo3:hostName>xsr03.asd001a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ <nmwgtopo3:node id="router2">
+ <nmwgtopo3:hostName>xsr03.asd002a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ </nmwgtopo3:network>
</flow:subject>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/flow/stat/2.0/</nmwg:eventType>
+
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/flow/raw/2.0/</nmwg:eventType>
</nmwg:metadata>
<nmwg:metadata id="meta2">
<flow:subject id="flowsub2" metadataIdRef="meta1"/>
- <flow:parameters id="flowparamid1"/>
+ <flow:parameters id="flowparamid1">
+
+ <nmwg:parameter name="filterRule">ip 194.171.26.203</nmwg:parameter>
+ <nmwg:parameter name="showFieldTimeFirstSeen"/><nmwg:parameter
name="showFieldTimeLastSeen"/><nmwg:parameter
name="showFieldProtocol"/><nmwg:parameter
name="showFieldSrcAddress"/><nmwg:parameter
name="showFieldSrcPort"/><nmwg:parameter
name="showFieldDstAddress"/><nmwg:parameter
name="showFieldDstPort"/><nmwg:parameter
name="showFieldPackets"/><nmwg:parameter
name="showFieldBytes"/></flow:parameters>
</nmwg:metadata>
<nmwg:metadata id="meta3">
<select:subject id="selectsub1" metadataIdRef="meta2"/>
<select:parameters id="selectparamid1">
<nmwg:parameter name="startTime">
- <nmtm:time type="ISO" value="2005-07-16T00:00:00Z"/>
- </nmwg:parameter>
+ <nmtm:time type="ISO" value="2008-06-12T12:00:00+0200"/>
+ </nmwg:parameter>
<nmwg:parameter name="endTime">
- <nmtm:time type="ISO" value="2005-07-21T00:00:00Z"/>
+ <nmtm:time type="ISO" value="2008-06-12T13:00:00+0200"/>
</nmwg:parameter>
</select:parameters>
</nmwg:metadata>
@@ -2121,28 +2124,62 @@
<nmwg:data id="data1" metadataIdRef="meta3"/>
</nmwg:message>
+
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="rawFlows"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="rawFlows"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace flow='http://ggf.org/ns/nmwg/tools/flow/2.0/';
+declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace fn="http://www.w3.org/2005/xpath-functions";
+
+(count(//nmwg:message/nmwg:data) = count(//nmwg:message/nmwg:data))
+and
+count((//nmwg:message/nmwg:metadata/flow:parameters/nmwg:parameter)="filterRule")=1
+and
+(//nmwg:message/nmwg:metadata/flow:parameters/nmwg:parameter[@name="filterRule"]
eq "ip 194.171.26.203")
+and
+(fn:string(//nmwg:message/nmwg:metadata/nmwg:eventType)="http://ggf.org/ns/nmwg/tools/flow/raw/2.0/")</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import javax.xml.transform.*;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.XMLConstants
+import javax.xml.validation.SchemaFactory
+import java.io.StringWriter
+
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.getResponseContent());
+def factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
+def schema = factory.newSchema(new
File("../Flow/MA/SetupData/FlowsaMA.rng"));
+def validator = schema.newValidator();
+def node = holder.getDomNode("//nmwg:message")
+validator.validate(new DOMSource(node));
+</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="rawFlows-single sources-multiple
rules"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="rawFlows-single sources-multiple
rules"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
<soapenv:Header/>
<soapenv:Body>
-<nmwg:message type="SetupDataRequest" id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
- xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
- xmlns:raw="http://ggf.org/ns/nmwg/tools/flow/raw/2.0/"
- xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
- xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/"
- xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/">
+<nmwg:message id="msg1" type="SetupDataRequest"
+xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
+xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/"
+xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
+xmlns:raw="http://ggf.org/ns/nmwg/tools/flow/raw/2.0/"
+xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/">
<nmwg:metadata id="meta1">
- <flow:subject id="flowsub1">
+ <flow:subject id="flowsub1">
<nmwgtopo3:network id="network1">
- <nmwgtopo3:node id="router1">
- <nmwgtopo3:hostName>xsr03.asd001a.surf.net</nmwgtopo3:hostName>
- </nmwgtopo3:node>
- <nmwgtopo3:node id="router2">
- <nmwgtopo3:hostName>xsr03.asd002a.surf.net</nmwgtopo3:hostName>
- </nmwgtopo3:node>
- </nmwgtopo3:network>
+ <nmwgtopo3:node id="router1">
+ <nmwgtopo3:hostName>xsr03.asd001a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ <nmwgtopo3:node id="router2">
+ <nmwgtopo3:hostName>xsr03.asd002a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ </nmwgtopo3:network>
</flow:subject>
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/flow/raw/2.0/</nmwg:eventType>
</nmwg:metadata>
@@ -2150,37 +2187,19 @@
<nmwg:metadata id="meta2">
<flow:subject id="flowsub2" metadataIdRef="meta1"/>
<flow:parameters id="flowparamid1">
- <nmwg:parameter name="aggregationRule">srcip,dstport</nmwg:parameter>
- <nmwg:parameter name="filterRule">ip = 194.171.26.203</nmwg:parameter>
- <nmwg:parameter name="showFieldAddressFamily"/>
- <nmwg:parameter name="showFieldTimeFirstSeen"/>
- <nmwg:parameter name="showFieldMsecFirstSeen"/>
- <nmwg:parameter name="showFieldTimeLastSeen"/>
- <nmwg:parameter name="showFieldMsecLastSeen"/>
- <nmwg:parameter name="showFieldProtocol"/>
- <nmwg:parameter name="showFieldSrcAddress"/>
- <nmwg:parameter name="showFieldSrcPort"/>
- <nmwg:parameter name="showFieldDstAddress"/>
- <nmwg:parameter name="showFieldDstPort"/>
- <nmwg:parameter name="showFieldSrcAS"/>
- <nmwg:parameter name="showFieldDstAS"/>
- <nmwg:parameter name="showFieldInputIF"/>
- <nmwg:parameter name="showFieldOutputIF"/>
- <nmwg:parameter name="showFieldTcpFlags"/>
- <nmwg:parameter name="showFieldTos"/>
- <nmwg:parameter name="showFieldPackets"/>
- <nmwg:parameter name="showFieldBytes"/>
- </flow:parameters>
+
+ <nmwg:parameter name="filterRule">ip 194.171.26.203</nmwg:parameter>
+ <nmwg:parameter name="showFieldTimeFirstSeen"/><nmwg:parameter
name="showFieldTimeLastSeen"/><nmwg:parameter
name="showFieldProtocol"/><nmwg:parameter
name="showFieldSrcAddress"/><nmwg:parameter
name="showFieldSrcPort"/><nmwg:parameter
name="showFieldDstAddress"/><nmwg:parameter
name="showFieldDstPort"/><nmwg:parameter
name="showFieldPackets"/><nmwg:parameter
name="showFieldBytes"/></flow:parameters>
</nmwg:metadata>
<nmwg:metadata id="meta3">
<select:subject id="selectsub1" metadataIdRef="meta2"/>
<select:parameters id="selectparamid1">
<nmwg:parameter name="startTime">
- <nmtm:time type="ISO" value="2008-06-11T00:00:00Z"/>
- </nmwg:parameter>
+ <nmtm:time type="ISO" value="2008-06-12T12:00:00+0200"/>
+ </nmwg:parameter>
<nmwg:parameter name="endTime">
- <nmtm:time type="ISO" value="2008-06-11T01:00:00Z"/>
+ <nmtm:time type="ISO" value="2008-06-12T13:00:00+0200"/>
</nmwg:parameter>
</select:parameters>
</nmwg:metadata>
@@ -2188,59 +2207,186 @@
<nmwg:data id="data1" metadataIdRef="meta3"/>
</nmwg:message>
+
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="topFlows"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="topFlows"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace flow='http://ggf.org/ns/nmwg/tools/flow/2.0/';
+declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace fn="http://www.w3.org/2005/xpath-functions";
+
+(count(//nmwg:message/nmwg:data) = count(//nmwg:message/nmwg:data))
+and
+count((//nmwg:message/nmwg:metadata/flow:parameters/nmwg:parameter)="filterRule")=1
+and
+(//nmwg:message/nmwg:metadata/flow:parameters/nmwg:parameter[@name="filterRule"]
eq "ip 194.171.26.203")
+and
+(fn:string(//nmwg:message/nmwg:metadata/nmwg:eventType)="http://ggf.org/ns/nmwg/tools/flow/raw/2.0/")</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import javax.xml.transform.*;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.XMLConstants
+import javax.xml.validation.SchemaFactory
+import java.io.StringWriter
+
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.getResponseContent());
+def factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
+def schema = factory.newSchema(new
File("../Flow/MA/SetupData/FlowsaMA.rng"));
+def validator = schema.newValidator();
+def node = holder.getDomNode("//nmwg:message")
+validator.validate(new DOMSource(node));
+</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="topFlows"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="topFlows"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
<soapenv:Header/>
<soapenv:Body>
-<nmwg:message type="SetupDataRequest" id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
- xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
- xmlns:top="http://ggf.org/ns/nmwg/tools/flow/top/2.0/"
- xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
- xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/"
- xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/">
+ <nmwg:message id="msg1" type="SetupDataRequest"
xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/"
xmlns:top="http://ggf.org/ns/nmwg/tools/flow/top/2.0/">
+ <nmwg:metadata id="meta1">
+ <flow:subject id="flowsub1">
+ <nmwgtopo3:network id="network1">
+ <nmwgtopo3:node id="router1">
+
<nmwgtopo3:hostName>xsr03.asd001a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ <nmwgtopo3:node id="router2">
+
<nmwgtopo3:hostName>xsr03.asd002a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ </nmwgtopo3:network>
+ </flow:subject>
+
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/flow/top/2.0/</nmwg:eventType>
+ </nmwg:metadata>
+ <nmwg:metadata id="meta2">
+ <flow:subject id="flowsub2" metadataIdRef="meta1"/>
+ <flow:parameters id="flowparamid1">
+ <nmwg:parameter name="topStatistic">Srcip</nmwg:parameter>
+ <nmwg:parameter name="orderBy">Bytes</nmwg:parameter>
+ <nmwg:parameter name="splitProtocol">no</nmwg:parameter>
+ <nmwg:parameter name="topN">10</nmwg:parameter>
+ </flow:parameters>
+ </nmwg:metadata>
+ <nmwg:metadata id="meta3">
+ <select:subject id="selectsub1" metadataIdRef="meta2"/>
+ <select:parameters id="selectparamid1">
+ <nmwg:parameter name="startTime">
+ <nmtm:time type="ISO"
value="2008-06-12T12:00:00+0200"/>
+ </nmwg:parameter>
+ <nmwg:parameter name="endTime">
+ <nmtm:time type="ISO"
value="2008-06-12T13:00:00+0200"/>
+ </nmwg:parameter>
+ </select:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta3"/>
+ </nmwg:message>
- <nmwg:metadata id="meta1">
- <flow:subject id="flowsub1">
- <nmwgtopo3:network id="network1">
- <nmwgtopo3:node id="router1">
- <nmwgtopo3:hostName>test-router.lab.test-net</nmwgtopo3:hostName>
- </nmwgtopo3:node>
- <nmwgtopo3:node id="router2">
- <nmwgtopo3:hostName>test-router-2.lab.test-net</nmwgtopo3:hostName>
- </nmwgtopo3:node>
- </nmwgtopo3:network>
- </flow:subject>
-
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/flow/top/2.0/</nmwg:eventType>
- </nmwg:metadata>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace flow='http://ggf.org/ns/nmwg/tools/flow/2.0/';
+declare namespace nmwgtopo3='http://ggf.org/ns/nmwg/topology/base/3.0/';
+declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
+declare namespace nmtm='http://ggf.org/ns/nmwg/time/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace fn="http://www.w3.org/2005/xpath-functions";
- <nmwg:metadata id="meta2">
- <flow:subject id="flowsub2" metadataIdRef="meta1"/>
- <flow:parameters id="flowparamid1">
- <nmwg:parameter name="topStatistic">srcip</nmwg:parameter>
- <nmwg:parameter name="orderBy">bytes</nmwg:parameter>
- <nmwg:parameter name="splitProtocol">yes</nmwg:parameter>
- <nmwg:parameter name="topN">20</nmwg:parameter>
- <nmwg:parameter name="filterRule">port = 53</nmwg:parameter>
- <nmwg:parameter name="aggregationRule">srcip4/24</nmwg:parameter>
- </flow:parameters>
- </nmwg:metadata>
+(count(//nmwg:message/nmwg:data) = count(//nmwg:message/nmwg:data))
+and
+(fn:string(//nmwg:message/nmwg:metadata/nmwg:eventType)="http://ggf.org/ns/nmwg/tools/flow/top/2.0/")
+and
+((//nmwg:message/nmwg:metadata/flow:subject/nmwgtopo3:network/nmwgtopo3:node[@id="router2"]/nmwgtopo3:hostName)="xsr03.asd002a.surf.net")
+and
+count((//nmwg:message/nmwg:metadata/flow:parameters/nmwg:parameter)="topStatistic")=1
+and
+(//nmwg:message/nmwg:metadata/flow:parameters/nmwg:parameter[@name="topStatistic"]
eq
"Srcip")</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import javax.xml.transform.*;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.XMLConstants
+import javax.xml.validation.SchemaFactory
+import java.io.StringWriter
- <nmwg:metadata id="meta3">
- <select:subject id="selectsub1" metadataIdRef="meta2"/>
- <select:parameters id="selectparamid1">
- <nmwg:parameter name="startTime">
- <nmtm:time type="ISO" value="2007-06-01T14:54:00Z"/>
- </nmwg:parameter>
- <nmwg:parameter name="endTime">
- <nmtm:time type="ISO" value="2007-06-01T15:54:00Z"/>
- </nmwg:parameter>
- </select:parameters>
- </nmwg:metadata>
- <nmwg:data id="data1" metadataIdRef="meta3"/>
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.getResponseContent());
+def factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
+def schema = factory.newSchema(new
File("../Flow/MA/SetupData/FlowsaMA.rng"));
+def validator = schema.newValidator();
+def node = holder.getDomNode("//nmwg:message")
+validator.validate(new DOMSource(node));
+</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="flowStatistics"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>SetupDataRequest</con:interface><con:operation>SetupData</con:operation><con:request
name="flowStatistics"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://sonar1.amsterdam.surfnet.nl:8080/surfnet_java-flowsa-ma/services/FlowsaMeasurementArchiveService</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/">
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message id="msg1" type="SetupDataRequest"
xmlns:flow="http://ggf.org/ns/nmwg/tools/flow/2.0/"
xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/"
xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/"
xmlns:stat="http://ggf.org/ns/nmwg/tools/flow/stat/2.0/">
+ <nmwg:metadata id="meta1">
+ <flow:subject id="flowsub1">
+ <nmwgtopo3:network id="network1">
+ <nmwgtopo3:node id="router1">
+
<nmwgtopo3:hostName>xsr03.asd001a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ <nmwgtopo3:node id="router2">
+
<nmwgtopo3:hostName>xsr03.asd002a.surf.net</nmwgtopo3:hostName>
+ </nmwgtopo3:node>
+ </nmwgtopo3:network>
+ </flow:subject>
+
<nmwg:eventType>http://ggf.org/ns/nmwg/tools/flow/stat/2.0/</nmwg:eventType>
+ </nmwg:metadata>
+ <nmwg:metadata id="meta2">
+ <flow:subject id="flowsub2" metadataIdRef="meta1"/>
+ <flow:parameters id="flowparamid1"/>
+ </nmwg:metadata>
+ <nmwg:metadata id="meta3">
+ <select:subject id="selectsub1" metadataIdRef="meta2"/>
+ <select:parameters id="selectparamid1">
+ <nmwg:parameter name="startTime">
+ <nmtm:time type="ISO"
value="2008-06-12T12:00:00+0200"/>
+ </nmwg:parameter>
+ <nmwg:parameter name="endTime">
+ <nmtm:time type="ISO"
value="2008-06-12T13:00:00+0200"/>
+ </nmwg:parameter>
+ </select:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta3"/>
+ </nmwg:message>
-</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace flow='http://ggf.org/ns/nmwg/tools/flow/2.0/';
+declare namespace nmwgtopo3='http://ggf.org/ns/nmwg/topology/base/3.0/';
+declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
+declare namespace nmtm='http://ggf.org/ns/nmwg/time/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace fn="http://www.w3.org/2005/xpath-functions";
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties/><con:wssContainer/></con:soapui-project>
\ No newline at end of file
+(count(//nmwg:message/nmwg:data) = count(//nmwg:message/nmwg:data))
+and
+(fn:string(//nmwg:message/nmwg:metadata/nmwg:eventType)="http://ggf.org/ns/nmwg/tools/flow/stat/2.0/")
+and
+((//nmwg:message/nmwg:metadata/flow:subject/nmwgtopo3:network/nmwgtopo3:node[@id="router2"]/nmwgtopo3:hostName)="xsr03.asd002a.surf.net")</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import javax.xml.transform.*;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.XMLConstants
+import javax.xml.validation.SchemaFactory
+import java.io.StringWriter
+
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.getResponseContent());
+def factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
+def schema = factory.newSchema(new
File("../Flow/MA/SetupData/FlowsaMA.rng"));
+def validator = schema.newValidator();
+def node = holder.getDomNode("//nmwg:message")
+validator.validate(new DOMSource(node));
+</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="Malformed and invalid
requests"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:properties/></con:testSuite><con:testSuite
name="Requests with invalid
data"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:properties/></con:testSuite><con:properties/><con:wssContainer/></con:soapui-project>
\ No newline at end of file
- perfsonar: r4003 - trunk/functional-testing/Flow_Monitoring/FlowsaMAsoapUI, svnlog, 06/13/2008
Archive powered by MHonArc 2.6.16.