Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r3257 - in trunk/functional-testing/LSsoapui: . ant doc ext jar rnc/Deregister rnc/Echo rnc/Keepalive rnc/Query rnc/Register soapui_template src/org/perfsonar/service src/org/perfsonar/service/loader src/org/perfsonar/service/testing suijar wsdl

Subject: perfsonar development work

List archive

perfsonar: r3257 - in trunk/functional-testing/LSsoapui: . ant doc ext jar rnc/Deregister rnc/Echo rnc/Keepalive rnc/Query rnc/Register soapui_template src/org/perfsonar/service src/org/perfsonar/service/loader src/org/perfsonar/service/testing suijar wsdl


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r3257 - in trunk/functional-testing/LSsoapui: . ant doc ext jar rnc/Deregister rnc/Echo rnc/Keepalive rnc/Query rnc/Register soapui_template src/org/perfsonar/service src/org/perfsonar/service/loader src/org/perfsonar/service/testing suijar wsdl
  • Date: Mon, 21 Jan 2008 18:11:56 -0500

Author: pgerakios
Date: 2008-01-21 18:11:55 -0500 (Mon, 21 Jan 2008)
New Revision: 3257

Added:
trunk/functional-testing/LSsoapui/ext/axis.jar
trunk/functional-testing/LSsoapui/ext/commons-discovery-0.2.jar
trunk/functional-testing/LSsoapui/ext/commons-logging-1.0.4.jar
trunk/functional-testing/LSsoapui/ext/jaxrpc.jar
trunk/functional-testing/LSsoapui/ext/saaj-api.jar
trunk/functional-testing/LSsoapui/jar/axis.jar
trunk/functional-testing/LSsoapui/jar/commons-discovery-0.2.jar
trunk/functional-testing/LSsoapui/jar/commons-logging-1.0.4.jar
trunk/functional-testing/LSsoapui/jar/jaxrpc.jar
trunk/functional-testing/LSsoapui/jar/saaj-api.jar
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/.classpath
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/.project

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/ClasspathResources.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/ReloadableClassLoader.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSDeregister.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSKeepalive.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSOperation.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSQuery.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSRegister.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/Operation.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/SOAPClient.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/StringOutputStream.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/TestStep.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/Util.java

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/XMLU.java
trunk/functional-testing/LSsoapui/suijar/
trunk/functional-testing/LSsoapui/suijar/isorelax-jaxp-bridge-1.0.jar
trunk/functional-testing/LSsoapui/suijar/isorelax.jar
trunk/functional-testing/LSsoapui/suijar/soapui-1.7.6.jar
trunk/functional-testing/LSsoapui/suijar/xmlpublic-2.3.0.jar
trunk/functional-testing/LSsoapui/wsdl/lsKeepalive.wsdl
trunk/functional-testing/LSsoapui/wsdl/lsQuery.wsdl
Modified:
trunk/functional-testing/LSsoapui/ant/build.xml
trunk/functional-testing/LSsoapui/doc/LS - Functional Testing
Specification Document.doc
trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterRequest.rnc
trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterResponse.rnc
trunk/functional-testing/LSsoapui/rnc/Echo/LSEchoRequest.rnc
trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveRequest.rnc
trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveResponse.rnc
trunk/functional-testing/LSsoapui/rnc/Query/LSQueryRequest.rnc
trunk/functional-testing/LSsoapui/rnc/Query/LSQueryResponse.rnc
trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterRequest.rnc
trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterResponse.rnc
trunk/functional-testing/LSsoapui/soapui_template/LS-soapui-project.xml

trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/DBClient.java
Log:


Modified: trunk/functional-testing/LSsoapui/ant/build.xml
===================================================================
--- trunk/functional-testing/LSsoapui/ant/build.xml 2008-01-19 23:31:06
UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/ant/build.xml 2008-01-21 23:11:55
UTC (rev 3257)
@@ -10,6 +10,8 @@
<path id="classpath">
<pathelement path="${jar.dst}"/>
<fileset dir="${jar.dst}" includes="*.jar"/>
+ <fileset dir="${basedir}/suijar" includes="*.jar"/>
+ <fileset dir="${basedir}/msv" includes="*.jar"/>
<!-- <fileset dir="../jar/ls/common" includes="*.class"/> -->

</path>
@@ -44,15 +46,25 @@
<!-- <mkdir dir=""/> -->
<!--
"org.perfsonar.service.commons.storage.xmldb.exist.rest.ExistDbHTTPAccess"
-->
<!-- -->
- <java classname = "org.perfsonar.service.testing.DBClient"
+ <java classname = "org.perfsonar.service.testing.${ft.class}"
failonerror="true" classpathref="classpath" fork="yes">
<arg value="${ft.host}"/>
<arg value="${ft.query}"/>
</java>
</target>

+ <target name="loader"
+ description="run loader" depends="jar" >
+ <!-- <mkdir dir=""/> -->
+ <!--
"org.perfsonar.service.commons.storage.xmldb.exist.rest.ExistDbHTTPAccess"
-->
+ <!-- -->
+ <java classname =
"org.perfsonar.service.loader.ReloadableClassLoader"
+ failonerror="true" classpathref="classpath" fork="yes">
+ </java>
+ </target>


+


<target name="validatewsdl" >

Modified: trunk/functional-testing/LSsoapui/doc/LS - Functional Testing
Specification Document.doc
===================================================================
(Binary files differ)

Added: trunk/functional-testing/LSsoapui/ext/axis.jar


Property changes on: trunk/functional-testing/LSsoapui/ext/axis.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/ext/commons-discovery-0.2.jar


Property changes on:
trunk/functional-testing/LSsoapui/ext/commons-discovery-0.2.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/ext/commons-logging-1.0.4.jar


Property changes on:
trunk/functional-testing/LSsoapui/ext/commons-logging-1.0.4.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/ext/jaxrpc.jar


Property changes on: trunk/functional-testing/LSsoapui/ext/jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/ext/saaj-api.jar


Property changes on: trunk/functional-testing/LSsoapui/ext/saaj-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/jar/axis.jar


Property changes on: trunk/functional-testing/LSsoapui/jar/axis.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/jar/commons-discovery-0.2.jar


Property changes on:
trunk/functional-testing/LSsoapui/jar/commons-discovery-0.2.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/jar/commons-logging-1.0.4.jar


Property changes on:
trunk/functional-testing/LSsoapui/jar/commons-logging-1.0.4.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/jar/jaxrpc.jar


Property changes on: trunk/functional-testing/LSsoapui/jar/jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/jar/saaj-api.jar


Property changes on: trunk/functional-testing/LSsoapui/jar/saaj-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Modified:
trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterRequest.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterRequest.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterRequest.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -6,7 +6,8 @@
Identifier? &
MessageIdentifierRef? &
Type &
- (Metadata&Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -20,32 +21,35 @@
Metadata =
element nmwg:metadata {
Identifier &
+ MetadataIdentifierRef? &
Key
}

Key =
- element nmwg:key { ParametersBlock }
+ element nmwg:key {
+ Identifier? &
+ ParametersBlock
+ }

-ParametersBlock =
- Identifier &
+ParametersBlock =
element nmwg:parameters {
- Identifier &
+ Identifier? &
Parameter+
}

Parameter =
element nmwg:parameter {
- DeregisterIdentifier &
- text
+ attribute name { "lsKey" } &
+ (attribute value { xsd:string })? &
+ text?
}

-DeregisterIdentifier = attribute id { "lsKey" }

Data =
element nmwg:data {
Identifier &
- MetadataIdentifierRef
+ MetadataIdentifierRef
}

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

Modified:
trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterResponse.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterResponse.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Deregister/LSDeregisterResponse.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -8,7 +8,8 @@
Identifier? &
MessageIdentifierRef? &
Type? &
- (Metadata&Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -21,16 +22,15 @@

Metadata =
element nmwg:metadata {
- ( Identifier &
- MetadataIdentifierRef
- ) &
- EventTypeResultCode
+ Identifier &
+ MetadataIdentifierRef? &
+ ResultCode
}

MetadataIdentifierRef =
attribute metadataIdRef { xsd:string }

-EventTypeResultCode =
+ResultCode =
element nmwg:eventType { xsd:string }

Data =
@@ -41,4 +41,4 @@
}

ResultCodeDatum =
- element nmwg:datum { xsd:string }
+ element nmwgr:datum { xsd:string }
\ No newline at end of file

Modified: trunk/functional-testing/LSsoapui/rnc/Echo/LSEchoRequest.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Echo/LSEchoRequest.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Echo/LSEchoRequest.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -6,7 +6,8 @@
Identifier? &
MessageIdentifierRef? &
Type &
- (Metadata&Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -21,18 +22,33 @@
element nmwg:metadata {
( Identifier &
MetadataIdentifierRef?
- ) &
- EventType
+ )
+ & EventType
+ & Parameters?
}

MetadataIdentifierRef =
attribute metadataIdRef { xsd:string }

EventType =
- element nmwg:eventType {"echo"}
+ element nmwg:eventType {
+ "http://schemas.perfsonar.net/tools/admin/echo/ls/2.0"; |
+ "http://schemas.perfsonar.net/tools/admin/echo/2.0";
+ }

+Parameters =
+ element nmwg:parameters { Parameter* }
+
+Parameter =
+ element nmwg:parameter {
+ attribute name { xsd:string } &
+ attribute value { xsd:string } &
+ text?
+ }
+
Data =
element nmwg:data {
Identifier &
MetadataIdentifierRef
}
+
\ No newline at end of file

Modified:
trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveRequest.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveRequest.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveRequest.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -6,7 +6,8 @@
Identifier? &
MessageIdentifierRef? &
Type &
- (Metadata&Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -20,6 +21,7 @@
Metadata =
element nmwg:metadata {
Identifier &
+ MetadataIdentifierRef? &
Key
}

@@ -34,17 +36,16 @@

Parameter =
element nmwg:parameter {
- DeregisterIdentifier &
- text
- }
+ attribute name { "lsKey" } &
+ (attribute value { xsd:string })? &
+ text?
+}

-DeregisterIdentifier = attribute id { "lsKey" }
-
Data =
element nmwg:data {
Identifier &
- MetadataIdentifierRef
+ MetadataIdentifierRef
}

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

Modified:
trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveResponse.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveResponse.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Keepalive/LSKeepaliveResponse.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -8,7 +8,8 @@
Identifier? &
MessageIdentifierRef? &
Type? &
- (Metadata&Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -21,16 +22,15 @@

Metadata =
element nmwg:metadata {
- ( Identifier &
- MetadataIdentifierRef
- ) &
- EventTypeResultCode
+ Identifier &
+ MetadataIdentifierRef? &
+ ResultCode
}

MetadataIdentifierRef =
attribute metadataIdRef { xsd:string }

-EventTypeResultCode =
+ResultCode =
element nmwg:eventType { xsd:string }

Data =
@@ -41,4 +41,4 @@
}

ResultCodeDatum =
- element nmwg:datum { xsd:string }
+ element nmwgr:datum { (attribute value { xsd:string })? & text? }

Modified: trunk/functional-testing/LSsoapui/rnc/Query/LSQueryRequest.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Query/LSQueryRequest.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Query/LSQueryRequest.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -1,13 +1,13 @@
namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
-namespace
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0";
-
+namespace
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";
start = element nmwg:message { MessageContent }

MessageContent =
Identifier? &
MessageIdentifierRef? &
Type &
- (Metadata&Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -21,21 +21,38 @@
Metadata =
element nmwg:metadata {
Identifier &
+ MetadataIdentifierRef? &
QuerySubject &
QueryType
}

QuerySubject =
- element xquery:subject { xsd:string }
-
+ element xquery:subject {
+ Identifier? &
+ text
+ }
+
+# usually textual XQuery, but may contain other tags!
+#AnyElement =
+# element * {
+# (attribute * { text }
+# | text
+# | AnyElement)*
+# }
+
QueryType =
- element nmwg:eventType { "service.lookup.xquery" |
"service.lookup.xpath" }
+ element nmwg:eventType {
+ "service.lookup.xquery" |
+ "service.lookup.xpath" |
+ "http://www.w3.org/TR/xquery/"; |
+ "http://www.w3.org/TR/xpath";
+ }

Data =
element nmwg:data {
Identifier &
- MetadataIdentifierRef
+ MetadataIdentifierRef
}

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

Modified: trunk/functional-testing/LSsoapui/rnc/Query/LSQueryResponse.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Query/LSQueryResponse.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Query/LSQueryResponse.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -1,16 +1,15 @@
namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";
namespace psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
-namespace perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";

-
start = element nmwg:message { MessageContent }

MessageContent =
Identifier? &
MessageIdentifierRef? &
Type? &
- (Metadata & Data)
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -23,28 +22,34 @@

Metadata =
element nmwg:metadata {
- ( Identifier &
- MetadataIdentifierRef
- ) &
- EventTypeResultCode ?
+ Identifier &
+ MetadataIdentifierRef? &
+ ResultCode ?
}

MetadataIdentifierRef =
attribute metadataIdRef { xsd:string }

-EventTypeResultCode =
+ResultCode =
element nmwg:eventType { xsd:string }

Data =
element nmwg:data {
Identifier &
MetadataIdentifierRef &
- ResultCodeDatum ? &
+ Datum ? &
XQueryResults ?
}

-ResultCodeDatum =
- element nmwg:datum { xsd:string }
+Datum =
+ element nmwgr:datum { xsd:string }

XQueryResults =
- element psservice:datum { xsd:string }
+ element psservice:datum { AnyElement* }
+
+AnyElement =
+ element * {
+ (attribute * { text }
+ | text
+ | AnyElement)*
+ }
\ No newline at end of file

Modified: trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterRequest.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterRequest.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterRequest.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -9,10 +9,8 @@
Identifier? &
MessageIdentifierRef? &
Type &
- (
- ServiceMetadata,
- Data+ # to be checked whether [*] or
[+]
- )
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -23,51 +21,49 @@
Type =
attribute type { "LSRegisterRequest" }

-ServiceMetadata=
+Metadata=
element nmwg:metadata {
- (
- Identifier &
- MetadataIdentifierRef? &
- ServiceSubject
- )
+ Identifier &
+ MetadataIdentifierRef? &
+ AnyElement*
+
}

+#Metadata accepts any subelement...
+AnyElement =
+ element * {
+ (attribute * { text }
+ | text
+ | AnyElement)*
+ }
+
+
MetadataIdentifierRef =
attribute metadataIdRef { xsd:string }

-ServiceSubject = element perfsonar:subject {
- (
- Identifier &
- ServiceInfo
- )
- }
+#ServiceSubject = element perfsonar:subject {
+# Identifier? &
+# ServiceInfo
+# }
+#
+# ServiceInfo =
+# element psservice:service {
+# (
+# Identifier? &
+# element psservice:serviceName {text} &
+# element psservice:accessPoint {text} &
+# element psservice:serviceType {text} &
+# element psservice:serviceDescription {text} ? &
+# element psservice:organization {text} ? &
+# element psservice:contactEmail {text} ? &
+# element psservice:serviceVersion {text} ?
+# )
+# }

-ServiceInfo =
- element psservice:service {
- (
- Identifier &
- element psservice:serviceName {text} &
- element psservice:accessPoint {text} &
- element psservice:serviceType {text} &
- element psservice:serviceDescription {text} ?
- )
- }
-
Data =
element nmwg:data {
- (
- Identifier &
- MetadataIdentifierRef &
- Metadata # to be checked whether
optional [?]
- )
+ Identifier &
+ MetadataIdentifierRef &
+ Metadata ?
}

-Metadata = # to be defined in particular
service documents
- element nmwg:metadata {
- (
- #
- # TO BE DEFINED in particular service documents
- #
- Identifier
- )
- }

Modified:
trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterResponse.rnc
===================================================================
--- trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterResponse.rnc
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/rnc/Register/LSRegisterResponse.rnc
2008-01-21 23:11:55 UTC (rev 3257)
@@ -1,4 +1,5 @@
namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";

start = element nmwg:message { MessageContent }

@@ -6,10 +7,8 @@
Identifier? &
MessageIdentifierRef? &
Type &
- (
- Metadata,
- Data
- )+
+ Metadata+ &
+ Data+

Identifier =
attribute id { xsd:string }
@@ -22,44 +21,44 @@

Metadata =
element nmwg:metadata {
- (
- Identifier &
- MetadataIdentifierRef? &
- (
- EventTypeResultCode &
- element nmwg:key
- {
- attribute id {xsd:string}?,
- Parameters # TBD [+]
- } ?
- )
- )
+ Identifier &
+ MetadataIdentifierRef? &
+ ResultCode &
+ Key?
}

+Key =
+ element nmwg:key {
+ Identifier? &
+ ParametersBlock }
+
+ParametersBlock =
+ element nmwg:parameters {
+ Identifier? &
+ Parameter+
+ }
+
+Parameter =
+ element nmwg:parameter {
+ attribute name { "lsKey" } &
+ (attribute value { xsd:string })? &
+ text?
+}
+
MetadataIdentifierRef =
attribute metadataIdRef { xsd:string }

-EventTypeResultCode =
+ResultCode =
element nmwg:eventType {
- # "success.ls.register" | "..." | "..." # list to be defined
instead of xsd:string
xsd:string
}

Parameters =
element nmwg:parameters {
- Identifier &
+ Identifier? &
Parameter
}

-Parameter =
- element nmwg:parameter
- {
- attribute name { "lsKey" } &
- (
- attribute value { xsd:string } |
- text
- )
- }

Data =
element nmwg:data
@@ -70,6 +69,4 @@
}

Datum =
- element nmwg:datum {
- attribute value {xsd:string}
- }
+ element nmwg:datum { (attribute value { xsd:string })? & text? }

Modified:
trunk/functional-testing/LSsoapui/soapui_template/LS-soapui-project.xml
===================================================================
--- trunk/functional-testing/LSsoapui/soapui_template/LS-soapui-project.xml
2008-01-19 23:31:06 UTC (rev 3256)
+++ trunk/functional-testing/LSsoapui/soapui_template/LS-soapui-project.xml
2008-01-21 23:11:55 UTC (rev 3257)
@@ -779,6 +779,132 @@
</wsdl:service>


+</wsdl:definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:interface
name="LSKeepaliveBinding"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}LSKeepaliveBinding";
soapVersion="1_1"
definition="file:/home/pgerakios/grnet/fs/wsdl/lsKeepalive.wsdl"><con:settings/><con:endpoints><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="" name="LSKeepalive"
bindingOperationName="LSKeepalive" inputName="" receivesAttachments="false"
sendsAttachments="false"><con:settings/><con:call name="Request
1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <xs:string/>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request></con:call></con:operation><con:definitionCache

rootPart="file:/home/pgerakios/grnet/fs/wsdl/lsKeepalive.wsdl"><con:part><con:url>file:/home/pgerakios/grnet/fs/wsdl/lsKeepalive.wsdl</con:url><con:content><wsdl:definitions
targetNamespace="http://ggf.org/ns/nmwg/base/2.0/"; name="LookupService"
xmlns:psls="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tns="http://ggf.org/ns/nmwg/base/2.0/";>
+
+
+ <!-- =====================================================================
+ wsdl types
+ ====================================================================== -->
+ <wsdl:types>
+
+ <xs:schema targetNamespace="http://ggf.org/ns/nmwg/base/2.0/";
elementFormDefault="qualified" attributeFormDefault="qualified">
+
+
+ <!--===================================================================
+ Operational input/output type declarations
+ ====================================================================-->
+ </xs:schema>
+ </wsdl:types>
+
+ <!--=======================================================================
+ messages
+ ========================================================================-->
+ <!-- fault messages -->
+ <wsdl:message name="KeepaliveInputMessage">
+ <wsdl:part name="MessageRequest" element="xs:string"/>
+ </wsdl:message>
+
+ <wsdl:message name="KeepaliveOutputMessage">
+ <wsdl:part name="MessageResponse" element="xs:string"/>
+ </wsdl:message>
+
+ <!--=======================================================================
+ Service
+ ========================================================================-->
+
+ <wsdl:portType name="LSKeepalivePortType">
+ <wsdl:operation name="LSKeepalive">
+ <wsdl:documentation> TODO </wsdl:documentation>
+ <wsdl:input message="psls:KeepaliveInputMessage"/>
+ <wsdl:output message="psls:KeepaliveOutputMessage"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="LSKeepaliveBinding" type="psls:LSKeepalivePortType">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="LSKeepalive">
+ <wsdl:input> <soap:body use="literal"/> </wsdl:input>
+ <wsdl:output> <soap:body use="literal"/> </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="LSKeepalive">
+ <wsdl:documentation> perfSONAR LookupService exposes the following
operations TODO
+ </wsdl:documentation>
+ <wsdl:port name="LSKeepalivePortType"
binding="psls:LSKeepaliveBinding">
+ <soap:address
location="http://127.0.0.1:8080/XML-LS-1.1-RC7/services/LookupService"/>
+ </wsdl:port>
+ </wsdl:service>
+
+
+</wsdl:definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:interface
name="LSQueryBinding"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}LSQueryBinding";
soapVersion="1_1"
definition="file:/home/pgerakios/grnet/fs/wsdl/lsQuery.wsdl"><con:settings/><con:endpoints><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="" name="LSQuery" bindingOperationName="LSQuery"
inputName="" receivesAttachments="false"
sendsAttachments="false"><con:settings/><con:call name="Request
1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <xs:string/>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request></con:call></con:operation><con:definitionCache

rootPart="file:/home/pgerakios/grnet/fs/wsdl/lsQuery.wsdl"><con:part><con:url>file:/home/pgerakios/grnet/fs/wsdl/lsQuery.wsdl</con:url><con:content><wsdl:definitions
targetNamespace="http://ggf.org/ns/nmwg/base/2.0/"; name="LookupService"
xmlns:psls="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tns="http://ggf.org/ns/nmwg/base/2.0/";>
+
+
+ <!-- =====================================================================
+ wsdl types
+ ====================================================================== -->
+ <wsdl:types>
+
+ <xs:schema targetNamespace="http://ggf.org/ns/nmwg/base/2.0/";
elementFormDefault="qualified" attributeFormDefault="qualified">
+
+
+ <!--===================================================================
+ Operational input/output type declarations
+ ====================================================================-->
+ </xs:schema>
+ </wsdl:types>
+
+ <!--=======================================================================
+ messages
+ ========================================================================-->
+ <!-- fault messages -->
+ <wsdl:message name="QueryInputMessage">
+ <wsdl:part name="MessageRequest" element="xs:string"/>
+ </wsdl:message>
+
+ <wsdl:message name="QueryOutputMessage">
+ <wsdl:part name="MessageResponse" element="xs:string"/>
+ </wsdl:message>
+
+ <!--=======================================================================
+ Service
+ ========================================================================-->
+
+ <wsdl:portType name="LSQueryPortType">
+ <wsdl:operation name="LSQuery">
+ <wsdl:documentation> TODO </wsdl:documentation>
+ <wsdl:input message="psls:QueryInputMessage"/>
+ <wsdl:output message="psls:QueryOutputMessage"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="LSQueryBinding" type="psls:LSQueryPortType">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="LSQuery">
+ <wsdl:input> <soap:body use="literal"/> </wsdl:input>
+ <wsdl:output> <soap:body use="literal"/> </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="LSQuery">
+ <wsdl:documentation> perfSONAR LookupService exposes the following
operations TODO
+ </wsdl:documentation>
+ <wsdl:port name="LSQueryPortType" binding="psls:LSQueryBinding">
+ <soap:address
location="http://127.0.0.1:8080/XML-LS-1.1-RC7/services/LookupService"/>
+ </wsdl:port>
+ </wsdl:service>
+
+

</wsdl:definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:testSuite

name="LSRegister"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and well-formed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="Generic Request"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="Generic Request"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xml
soap.org/soap/envelope/" xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";>
<soapenv:Header/>
<soapenv:Body>
@@ -1095,7 +1221,7 @@
def jmdata =
DBClient.parse(req_holder.getDomNode("//nmwg:message/nmwg:metadata"))
def key =
(req_holder.getDomNode("//nmwg:message/nmwg:metadata/perfsonar:subject/psservice:service/psservice:accessPoint"))
def elts = DBClient.getElements(key.getFirstChild().getNodeValue().trim())
-if( DBClient.equal(elts[0],jmdata) == false || DBClient.equal(elts[1],jdata)
== false ) throw new Exception("Database check failed.");
+if ( DBClient.superset(elts[0],jmdata) == false ||
DBClient.superset(elts[1],jdata) == false )throw new Exception("Database
check failed.");
}
catch( Exception e ){
log.error("Caught an Exception object" )
@@ -1116,7 +1242,7 @@



-</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="FAILED 2.1.2.1.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="FAILED 2.1.2.1.2"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.1.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.1.2"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -1148,7 +1274,6 @@
</nmwg:metadata>

<nmwg:data id="data0" metadataIdRef="meta1">
- <nmwg:metadata></nmwg:metadata>
</nmwg:data>

<nmwg:metadata id="meta2">
@@ -1170,7 +1295,6 @@
</nmwg:metadata>

<nmwg:data id="data2" metadataIdRef="meta2">
- <nmwg:metadata></nmwg:metadata>
</nmwg:data>


@@ -1179,87 +1303,38 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="GroovyScriptAssertion"
name="Groovy Response Assertion"><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.dom.DOMSource;
-import javax.xml.XMLConstants
-import javax.xml.validation.SchemaFactory
-import java.io.StringWriter
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="SOAP Fault Assertion"/><con:assertion type="GroovyScriptAssertion"
name="Response/Request RNG/XSD
Assertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;


-try{
-log.setLevel(org.apache.log4j.Level.ALL)
-log.debug("Starting groovy script")
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder(messageExchange.getResponseContent())
-log.debug("Loading a new instance of SchemaFactory ...")
-def factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI)
-log.debug("Loading rng file ...")
-def f = new File("rng/Register/LSRegisterResponse.rng");
-if( f.exists() == false ) throw new Exception("File " + f.getAbsolutePath()
+ " does not exist.");
-def schema = factory.newSchema(f);
-log.debug("Before invoking the validator")
-def validator = schema.newValidator()
-def node = holder.getDomNode("//nmwg:message")
-validator.validate(new DOMSource(node))
-log.debug("After invoking the validator")
-}
-catch( Exception e ){
- log.error("Caught an Exception object" )
- def arr = e.getStackTrace();
- for( k in arr ){
- log.error( k.toString() )
- }
- throw e;
-}
-catch( Throwable th ){
- log.error("Caught a Throwable object");
- log.error(th);
- throw th;
-}
-finally{
- log.debug("The script assertion has now ended");
-}
+XMLU.validate_both( XMLU.OperationType.REGISTER,context,messageExchange,log);

+def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+def acpt_list = XMLU.select(res,"accessPoint", "service");

-
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-
-//nmwg:message/@type = "LSRegisterResponse"
-and
-(//nmwg:eventType/text() = "success.ls.register")
-and
-(count(//nmwg:message/nmwg:metadata) = count(//nmwg:message/nmwg:data))
-and
-count(//nmwg:message/nmwg:data) >= 1
-and
-( for $r1 in //nmwg:data
- return (some $r2 in //nmwg:metadata satisfies $r1/@metadataIdRef =
$r2/@id )
-)
-and
-(for $x in //nmwg:data
- return (count(//nmwg:data[./@id =$x/@id] ) = 1)
-)
-and
-(
- for $x in //nmwg:metadata
- return( exists($x/nmwg:key) = false() or
- ( $x/nmwg:key/nmwg:parameters/nmwg:parameter/@name = "lsKey"
- and
- ( exists($x/nmwg:key/nmwg:parameters/nmwg:parameter/@value)
- or
exists($x/nmwg:key/nmwg:parameters/nmwg:parameter/text()))
- )
- )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Failed ? 2.1.2.1.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="Failed ? 2.1.2.1.3"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"success.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey") &&
+ XMLU.forall_text_exists_att(acpt_list,par_list,"value")
+ );
+
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="Failed ? 2.1.2.1.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="Failed ? 2.1.2.1.3"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -1425,48 +1500,38 @@
</nmwg1:message>
</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name=" 2.1.2.2.1 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name=" 2.1.2.2.1 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name=" 2.1.2.2.1 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name=" 2.1.2.2.1 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
@@ -1515,48 +1580,38 @@
</nmwg:message>
</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.2 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.2 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.2 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.2 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -1619,48 +1674,38 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.2 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.2 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.2 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.2 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -1723,48 +1768,38 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.3 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.3 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.3 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.3 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -1801,48 +1836,38 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.3 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.3 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+//def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(res,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.3 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.3 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -1879,48 +1904,38 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+//def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(res,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
@@ -1974,48 +1989,38 @@
</nmwg:message>
</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ XMLU.forall_text(evtyp_list,"error.ls.register") &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
@@ -2112,7 +2117,39 @@
count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
and
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- c"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;
+
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- c"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
@@ -2167,48 +2204,39 @@
</nmwg:message>
</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- d"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.4 --- d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.4 --- d"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
@@ -2265,48 +2293,39 @@
</nmwg:message>
</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2372,48 +2391,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2480,48 +2490,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- c"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- c"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2589,7 +2590,7 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
@@ -2630,7 +2631,39 @@
count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
and
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- d"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;
+
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.5 --- d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.5 --- d"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2699,49 +2732,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2783,48 +2806,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2867,48 +2881,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- c"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- c"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -2951,48 +2956,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- d"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.6 --- d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.6 --- d"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3036,48 +3032,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.7 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.7 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.7 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.7 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3121,48 +3108,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.7 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.7 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.7 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.7 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3206,48 +3184,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.8 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.8 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.8 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.8 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3310,48 +3279,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.8 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.8 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.8 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.8 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3414,48 +3374,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.9 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.9 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.9 --- a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.9 --- a"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3492,48 +3443,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.9 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.9 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.2.9 --- b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.2.9 --- b"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -3570,48 +3512,39 @@

</soapenv:Body>
</soapenv:Envelope>
-]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="Schema Compliance"><con:configuration/></con:assertion><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
-declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace fn="http://www.w3.org/2005/xpath-functions";;
-declare namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/";;
+]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="GroovyScriptAssertion" name="All in
one"><con:configuration><scriptText><![CDATA[import
org.perfsonar.service.testing.XMLU;

-(exists(/soapenv:Envelope/soapenv:Body/soapenv:Fault)
-and
-count(/soapenv:Envelope/soapenv:Body/*) = 1)
-or
-( exists(/soapenv:Envelope/soapenv:Body/nmwg:message )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/* ) = 2
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id )
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/* ) = 1
- and
-
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType
)
- and
-
contains(soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text(),
- "error")
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@id )
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef
)
- and
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/@metadataIdRef =
- /soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/@id
- and
- count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
- and
- exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Requests containing invalid data"
searchProperties="true"><con:settings/><con:testStep type="request"
name="2.1.2.3.1"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.3.1"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";
>
+if( XMLU.isResponseSoapFault(context,messageExchange) ) return;
+
+XMLU.validate_response(
XMLU.OperationType.REGISTER,context,messageExchange,log);
+
+//def req = XMLU.parse(context,messageExchange,XMLU.MessageType.REQUEST);
+def res = XMLU.parse(context,messageExchange,XMLU.MessageType.RESPONSE);
+def data_list = XMLU.select( res, "data" , "message" );
+def mdata_list = XMLU.select( res, "metadata" , "message");
+def evtyp_list = XMLU.select(res, "eventType" , "metadata");
+def msg_list = XMLU.select( res,"message",null);
+def key_list = XMLU.select(res,"key","metadata");
+def par_list = XMLU.select(key_list,"parameter","parameters");
+//def acpt_list = XMLU.select(req,"accessPoint", "service");
+
+def b1 = (data_list.size() == mdata_list.size() ) &&
+ ( data_list.size() > 0 ) &&
+ XMLU.unique_att(data_list,"id") &&
+ XMLU.unique_att(data_list,"metadataIdRef") &&
+ XMLU.unique_att(mdata_list,"id") &&
+
XMLU.forall_att_exists_att(mdata_list,"id",data_list,"metadataIdRef") &&
+ (XMLU.exists_text(evtyp_list,"success.ls.register")== false) &&
+ (msg_list.size() == 1 ) &&
+ XMLU.exists_att(msg_list,"type" , "LSRegisterResponse") &&
+ ( key_list.size() > 0 &&
+ par_list.size() > 0 &&
+ XMLU.forall_att(par_list,"name","lsKey")
+ );
+// && XMLU.forall_text_exists_att(acpt_list,par_list,"value")

+//
+if(b1==false) throw new Exception("Assertion failed");
+]]></scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Requests containing invalid data"
searchProperties="true"><con:settings/><con:testStep type="request"
name="2.1.2.3.1"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.3.1"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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>

@@ -5210,9 +5143,10 @@
count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/* ) = 1
and
exists(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwgr:datum )
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep></con:testCase></con:testSuite><con:testSuite

name="LSDeregister"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and well-formed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="Simple Register Request"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="Simple Register Request"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.1.2.3.18"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.1.2.3.18"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
id="msg1"

xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";
@@ -5220,6 +5154,85 @@

xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";

xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/";>
+
+
+ <nmwg:metadata id="meta1">
+ <perfsonar:subject
+ id="commonParameters"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+
+ <psservice:service id="serviceParameters"
+ xmlns:psservice=
+
"http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";>
+ <psservice:serviceName>dsdsd</psservice:serviceName>
+ <psservice:accessPoint>
+ dsdsd
+ </psservice:accessPoint>
+ <psservice:serviceType>MA</psservice:serviceType>
+
<psservice:serviceDescription></psservice:serviceDescription>
+ </psservice:service>
+ </perfsonar:subject>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="meta1">
+ </nmwg:data>
+
+ <nmwg:metadata id="meta2">
+ <perfsonar:subject
+ id="commonParameters"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+
+ <psservice:service id="serviceParameters"
+ xmlns:psservice=
+
"http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";>
+ <psservice:serviceName>dsdsd</psservice:serviceName>
+ <psservice:accessPoint>
+ dsdsd
+ </psservice:accessPoint>
+ <psservice:serviceType>MA</psservice:serviceType>
+
<psservice:serviceDescription></psservice:serviceDescription>
+ </psservice:service>
+ </perfsonar:subject>
+ </nmwg:metadata>
+
+
+ <nmwg:data id="data2" metadataIdRef="meta2">
+ </nmwg:data>
+
+
+ </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
nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+declare namespace select='http://ggf.org/ns/nmwg/ops/select/2.0/';
+declare namespace errors='http://ggf.org/ns/nmwg/characteristic/errors/2.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace fn="http://www.w3.org/2005/xpath-functions";;
+
+//nmwg:message/@type = "LSRegisterResponse"
+and
+(//nmwg:eventType/text() = "error.ls.register")
+and
+(count(//nmwg:message/nmwg:metadata) = count(//nmwg:message/nmwg:data))
+and
+count(//nmwg:message/nmwg:data) >= 1
+and
+( for $r1 in //nmwg:data
+ return (some $r2 in //nmwg:metadata satisfies $r1/@metadataIdRef =
$r2/@id )
+)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Request/Response Schema/RNG
Assertion"><con:configuration><scriptText>import
org.perfsonar.service.testing.XMLU;
+XMLU.validate(
XMLU.OperationType.REGISTER,context,messageExchange,log);</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep></con:testCase></con:testSuite><con:testSuite

name="LSDeregister"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and well-formed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="Simple Register Request"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="Simple Register Request"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpo
int><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="LSRegisterRequest"
+ id="msg1"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
+ xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
+
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/";>
<nmwg:metadata id="serviceLookupInfo">
<perfsonar:subject
id="commonParameters"
@@ -5287,6 +5300,7 @@
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node))
log.debug("After invoking the validator")
+
}
catch( Exception e ){
log.error("Caught an Exception object" )
@@ -5549,7 +5563,7 @@



-</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.2.2.1.1 --- Register
Request"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.2.2.1.1 --- Register Request"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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/";>
+</scriptText></con:configuration></con:assertion></con:request></con:config></con:testStep><con:testStep
type="request" name="2.2.2.1.1R"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSRegisterBinding</con:interface><con:operation>LSRegister</con:operation><con:request
name="2.2.2.1.1R"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
@@ -5694,7 +5708,7 @@
<nmwg:metadata id="meta1" >
<nmwg:key id="localhost.localdomain.-6236687d:116c5a2ab6a:-7fc4">
<nmwg:parameters
id="localhost.localdomain.-6236687d:116c5a2ab6a:-7fc3">
- <nmwg:parameter
id="lsKey">http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ <nmwg:parameter
name="lsKey">http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
</nmwg:parameters>
</nmwg:key>
</nmwg:metadata>
@@ -8059,4 +8073,1254 @@
or
exists($x/nmwg:key/nmwg:parameters/nmwg:parameter/text()))
)
)
-)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep></con:testCase></con:testSuite></con:soapui-project>
\ No newline at end of file
+)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:request></con:config></con:testStep></con:testCase></con:testSuite><con:testSuite

name="LSKeepalive"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and Well-formed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="2.3RS"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceBinding</con:interface><con:operation>LSRegister</con:operation><con:request

name="2.3RS"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
+ id="msg1"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
+ xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
+
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/";>
+ <nmwg:metadata id="serviceLookupInfo">
+ <perfsonar:subject
+ id="commonParameters"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+ <psservice:service id="serviceParameters"
+ xmlns:psservice=
+
"http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";>
+ <psservice:serviceName>My_test_MA</psservice:serviceName>
+ <psservice:accessPoint>
+ http://reed.man.poznan.pl:8080/axis/services/MA
+ </psservice:accessPoint>
+ <psservice:serviceType>MA</psservice:serviceType>
+ <psservice:serviceDescription>
+ This is my testing MA
+ </psservice:serviceDescription>
+ </psservice:service>
+ </perfsonar:subject>
+ </nmwg:metadata>
+ <nmwg:data id="data0" metadataIdRef="serviceLookupInfo">
+ <nmwg:metadata id="meta1">
+ <perfsonar:subject id="subj1"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+ <nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";>
+
<nmwgt:hostName>atlang-hstnng.abilene.ucaid.edu</nmwgt:hostName>
+ <nmwgt:ifName>unknown</nmwgt:ifName>
+ <nmwgt:ifDescription>
+
hstn:oc192(p2p)::show:intracloud</nmwgt:ifDescription>
+ <nmwgt:ifAddress
type="ipv4">198.32.8.34</nmwgt:ifAddress>
+ <nmwgt:direction>in</nmwgt:direction>
+ <nmwgt:capacity>10000000000</nmwgt:capacity>
+ </nmwgt:interface>
+ </perfsonar:subject>
+ <nmwg:eventType>utilisation</nmwg:eventType>
+ </nmwg:metadata>
+
+ </nmwg:data>
+ </nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3RT"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceBinding</con:interface><con:operation>LSRegister</con:operation><con:request

name="2.3RT"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</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="LSRegisterRequest"
+ id="msg1"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
+ xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
+
xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/";>
+
+ <nmwg:metadata id="serviceLookupInfo">
+ <perfsonar:subject
+ id="commonParameters"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+ <psservice:service id="serviceParameters"
+ xmlns:psservice=
+
"http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";>
+ <psservice:serviceName>My_test_MA</psservice:serviceName>
+ <psservice:accessPoint>
+ http://reed.man.poznan.pl:8080/axis/services/MA
+ </psservice:accessPoint>
+ <psservice:serviceType>MA</psservice:serviceType>
+ <psservice:serviceDescription>
+ This is my testing MA
+ </psservice:serviceDescription>
+ </psservice:service>
+ </perfsonar:subject>
+ </nmwg:metadata>
+
+ <nmwg:metadata id="serviceLookupInfo1">
+ <perfsonar:subject
+ id="commonParameters"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+ <psservice:service id="serviceParameters"
+ xmlns:psservice=
+
"http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";>
+ <psservice:serviceName>My_test_MA</psservice:serviceName>
+ <psservice:accessPoint>
+ http://reed.man.poznan.pl:8080/axis/services/MA1
+ </psservice:accessPoint>
+ <psservice:serviceType>MA</psservice:serviceType>
+ <psservice:serviceDescription>
+ This is my testing MA
+ </psservice:serviceDescription>
+ </psservice:service>
+ </perfsonar:subject>
+ </nmwg:metadata>
+
+ <nmwg:data id="data1" metadataIdRef="serviceLookupInfo1">
+ <nmwg:metadata id="meta1">
+ <perfsonar:subject id="subj1"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+ <nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";>
+
<nmwgt:hostName>atlang-hstnng.abilene.ucaid.edu</nmwgt:hostName>
+ <nmwgt:ifName>unknown</nmwgt:ifName>
+ <nmwgt:ifDescription>
+
hstn:oc192(p2p)::show:intracloud</nmwgt:ifDescription>
+ <nmwgt:ifAddress
type="ipv4">198.32.8.34</nmwgt:ifAddress>
+ <nmwgt:direction>in</nmwgt:direction>
+ <nmwgt:capacity>10000000000</nmwgt:capacity>
+ </nmwgt:interface>
+ </perfsonar:subject>
+ <nmwg:eventType>utilisation</nmwg:eventType>
+ </nmwg:metadata>
+
+ </nmwg:data>
+
+
+ <nmwg:data id="data0" metadataIdRef="serviceLookupInfo">
+ <nmwg:metadata id="meta1">
+ <perfsonar:subject id="subj1"
+
xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";>
+ <nmwgt:interface
xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";>
+
<nmwgt:hostName>atlang-hstnng.abilene.ucaid.edu</nmwgt:hostName>
+ <nmwgt:ifName>unknown</nmwgt:ifName>
+ <nmwgt:ifDescription>
+
hstn:oc192(p2p)::show:intracloud</nmwgt:ifDescription>
+ <nmwgt:ifAddress
type="ipv4">198.32.8.34</nmwgt:ifAddress>
+ <nmwgt:direction>in</nmwgt:direction>
+ <nmwgt:capacity>10000000000</nmwgt:capacity>
+ </nmwgt:interface>
+ </perfsonar:subject>
+ <nmwg:eventType>utilisation</nmwg:eventType>
+ </nmwg:metadata>
+
+ </nmwg:data>
+ </nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.1.1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.1.1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.1.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.1.2"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+
+ <nmwg:metadata id="key_to_keepalive1">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA1</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data1" metadataIdRef="key_to_keepalive1"/>
+
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="2.3.1.2.1"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.2"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MADFDSDS</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.3"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.4"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.4"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+ <nmwg:random/>
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.5"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.5"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/servfdfFDSDS</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+ <nmwg:random/>
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.6"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.6"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+ <nmwg:random/>
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.7"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.7"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ <nmwg:random/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.8"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.8"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MADFDSDS</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ <nmwg:random/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.2.9"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.2.9"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base22/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+<nmwg:random/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Requests containing invalid data"
searchProperties="true"><con:settings/><con:testStep type="request"
name="2.3.1.3.1"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.3.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.2"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.3.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.3"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MADFDSDS</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+ </nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.3.4"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.4"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.3.5"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.5"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.3.6"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.6"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter>
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" metadataIdRef="key_to_keepalive"/>
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.3.1.3.7"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSKeepaliveBinding</con:interface><con:operation>LSKeepalive</con:operation><con:request

name="2.3.1.3.7"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message type="LSKeepaliveRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="key_to_keepalive">
+ <nmwg:key>
+ <nmwg:parameters id="keys">
+ <nmwg:parameter name="lsKey">
+
http://reed.man.poznan.pl:8080/axis/services/MA</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:key>
+ </nmwg:metadata>
+
+ <nmwg:data id="data0" />
+</nmwg:message>
+
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Runner" searchProperties="true"><con:settings/><con:testStep
type="groovy" name="2.3.1.1.1"><con:settings/><con:config><script>
+import org.perfsonar.service.testing.*;
+
+
+// Load test steps
+TestStep[] requests = Util.newTestStepArray(testRunner,log,"2.3RS" ,
"2.3RS");
+TestStep[] wellformed = Util.newTestStepArray(testRunner,log,"2.3.1.1.1" ,
"2.3.1.1.2");
+TestStep[] malformed = Util.newTestStepArray(testRunner,log, "2.3.1.2.1"
,"2.3.1.2.2","2.3.1.2.3","2.3.1.2.4",
+
"2.3.1.2.5","2.3.1.2.6","2.3.1.2.7","2.3.1.2.8",
+ "2.3.1.2.9");
+TestStep[] nearvalid = Util.newTestStepArray(testRunner,log, "2.3.1.3.1"
,"2.3.1.3.2","2.3.1.3.3","2.3.1.3.4",
+
"2.3.1.3.5","2.3.1.3.6","2.3.1.3.7");
+boolean failed=false;
+String errorString ="";
+
+// well-formed requests
+requests[0].getOperation().runWellFormed();
+
+try{
+wellformed[0].getOperation().runWellFormed(); //FIXME: test again when
+}
+catch( Exception e){
+ failed = true;
+ errorString += e.getMessage() + "\n";
+}
+
+// nmwgr:datum , nmwgr needs to be corrected.
+requests[1].getOperation().runWellFormed();
+try{
+wellformed[1].getOperation().runWellFormed();
+}
+catch( Exception e ){
+ failed = true;
+ errorString += e.getMessage() + "\n";
+}
+
+
+// Malformed requests
+
+try{
+Util.runTestStepArray(malformed,false,log);
+}
+catch( Exception e ){ failed = true; errorString += e.getMessage() + "\n"; }
+
+
+// Well-Formed Requests
+try{
+Util.runTestStepArray(nearvalid,false,log);
+}
+catch( Exception e ){
+ failed = true;
+ errorString += e.getMessage() + "\n";
+}
+
+if(failed) throw new Exception("Tests failed: " + errorString );
+</script></con:config></con:testStep><con:testStep type="groovy"
name="2.3.1.1.1"><con:settings/><con:config><script>import
org.perfsonar.service.testing.TestStep;
+
+//org.perfsonar.service.testing.ReloadableClassLoader.relfoadPackage("org.perfsonar.service.testing");
+org.perfsonar.service.loader.ReloadableClassLoader.test();
+def s = TestStep.getClass().getClassLoader();
+org.perfsonar.service.loader.ReloadableClassLoader.reloadAll("ext/dbclient.jar"
);
+TestStep.printTest();
+
+//
+return;
+
+log.setLevel(org.apache.log4j.Level.ALL)
+testRunner.gotoStepByName("2.3");
+
+testRunner.start(false);
+if( testRunner.waitUntilFinished().toString().equals("FINISHED") == false ){
+ log.debug("Test case failed" )
+ return;
+}
+def a = testRunner.getResults();
+log.debug(a);
+def x = (com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase)
testRunner.getTestCase();
+//def y = (com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStep)
x.getTestStepByName("2.3");
+def y = testRunner.getTestCase().getTestSuite().getProject().getPath();
+log.debug(testRunner.getClass().getName());
+log.debug("Test case 2.3 ok " + testRunner.getStatus());
+</script></con:config></con:testStep></con:testCase></con:testSuite><con:testSuite

name="LSQuery"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and well-formed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="2.4.2.1.1a"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.1a"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $metadata in /nmwg:store/nmwg:metadata
+ let $metadata_id := $metadata/@id
+ let $data :=
/nmwg:store/nmwg:data[@metadataIdRef=$metadata_id]
+ where $metadata//psservice:serviceType="MA"
+ return &lt;lookup-storage-from-query&gt;
+ {$metadata} {$data}
+ &lt;/lookup-storage-from-query&gt;
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.1b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.1b"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.1c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.1c"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ where contains($s/psservice:serviceType,"MA")
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.1d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.1d"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
+ return $accessPoint
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.1f"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.1f"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
+ return $d/nmwg:metadata/perfsonar:subject
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.2a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.2a"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:ifAddess
+ return $accessPoint
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.2b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.2b"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ where
contains($m/perfsonar:subject/psservice:service/psservice:serviceType,"Foo")
+ return $m/perfsonar:subject/psservice:service/psservice:accessPoint
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.2c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.2c"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata where
(contains($m/perfsonar:subject/psservice:service/psservice:serviceType,"MA")
+ and contains($m,"Foo") )
+ return
data($m/perfsonar:subject/psservice:service/psservice:accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.2d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.2d"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata where
(contains($m/perfsonar:subject/psservice:service/psservice:serviceType,"MA")
+ and contains(/nmwg:store/nmwg:data,"Foo") )
+ return
data($m/perfsonar:subject/psservice:service/psservice:accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.2e"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.2e"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata where
(contains($m/perfsonar:subject/psservice:service/psservice:serviceType,"MA")
+ and contains(//psservice:accessPoint,"Foo") )
+ return
data($m/perfsonar:subject/psservice:service/psservice:accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.1.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.1.3"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
+ where contains($s/psservice:serviceType,"MA")
+ and contains($d////nmwgt:ifAddress, "10.32.")
+ return data($accessPoint) </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed Requests"
searchProperties="true"><con:settings/><con:testStep type="request"
name="sample"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="sample"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.2.1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.2.1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.2.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.2.2"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject idssss="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.2.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.2.3"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+ <nmwg:random/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Requests containing invalid data"
searchProperties="true"><con:settings/><con:testStep type="request"
name="Copy of sample"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request
name="Copy of
sample"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return $accessPoint
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+
+</nmwg:message>
+
+</soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.2"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.2"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message
+ type="LSQueryRequest"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return $accessPoint
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+</soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.3"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.3"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message id="msg1"
+
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return $accessPoint
+
+ </xquery:subject>
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+</soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.4"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.4"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.5"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.5"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.6"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.6"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ lalala
+ <nmwg:eventType>service.lookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.4.2.3.7"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LSQueryBinding</con:interface><con:operation>LSQuery</con:operation><con:request

name="2.4.2.3.7"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://127.0.0.1:8080/XML-LS-1.2/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+<nmwg:message
+ type="LSQueryRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
+
xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";>
+
+ <nmwg:metadata id="meta1">
+
+ <xquery:subject id="sub1">
+ declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
+ declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
+ declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
+ declare namespace
+
xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/";;
+
+ for $m in /nmwg:store/nmwg:metadata
+ let $s := $m/perfsonar:subject/psservice:service
+ let $accessPoint := $s/psservice:accessPoint
+ return data($accessPoint)
+ </xquery:subject>
+ <nmwg:eventType>service.ddlookup.xquery</nmwg:eventType>
+
+ </nmwg:metadata>
+ <nmwg:data id="data1" metadataIdRef="meta1" />
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/></con:request></con:config></con:testStep></con:testCase></con:testSuite></con:soapui-project>
\ No newline at end of file

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/.classpath

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/.project

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/ClasspathResources.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/loader/ReloadableClassLoader.java

Modified:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/DBClient.java
===================================================================
---
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/DBClient.java
2008-01-19 23:31:06 UTC (rev 3256)
+++
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/DBClient.java
2008-01-21 23:11:55 UTC (rev 3257)
@@ -114,11 +114,13 @@
try {
builder = factory.newDocumentBuilder();
jbuilder = new DOMBuilder();
- } catch (ParserConfigurationException e) {
+ return jbuilder.build(builder.parse( new
java.io.StringBufferInputStream(s)));
+ } catch (Exception e) {
e.printStackTrace();
+ System.out.println("XML:\n" +s ) ;
+ return null;
}

- return jbuilder.build(builder.parse( new
java.io.StringBufferInputStream(s)));
}

public static org.jdom.Document parse( String s ) throws Exception {
@@ -154,44 +156,34 @@
.getRootElement()
};

-// return exist_data.equals(data) && exist_metadata.equals(metadata);
+}

- // System.out.println("Request :\n" + query);
-// System.out.println( "Response :\n" + (exist_metadata=request(query)) );
+public static List<List<org.jdom.Element>> getElements( List<String>
key_list ) throws Exception {
+ String condition="" , or = "or ";
+ for( String k : key_list ) condition += "or
.//psservice:accessPoint/text()='" + k + "' ";
+ if( key_list.size() > 0 )
+ condition = condition.substring( condition.indexOf(or) + or.length() );
/* remove the first or*/
+ else
+ condition = "false";

-// System.out.println("Request :\n" + query);
-// System.out.println( "Response :\n" + (exist_data=request(query)) );
+ String ret1 = request(prepQ() + "/nmwg:store/nmwg:metadata[" + condition +
"]"),
+ ret2 = request(prepQ() + "/nmwg:store/nmwg:data[./@metadataIdRef =
/nmwg:store/nmwg:metadata[" + condition + "]/@id]");
+// System.out.println("Ret1:\n" +ret1 +"\nRet2:\n" + ret2 );
+ ret1 = "<nmwg:message xmlns:nmwg=\"http://ggf.org/ns/nmwg/base/2.0/\";>" +
ret1 + "</nmwg:message>"; /* Add a "root" element in case it does not exist*/
+ ret2 = "<nmwg:message xmlns:nmwg=\"http://ggf.org/ns/nmwg/base/2.0/\";>" +
ret2 + "</nmwg:message>"; /* Add a "root" element in case it does not exist*/
+ List<Element> l1 = XMLU.select( parse(ret1).getRootElement() ,
"metadata","message"); /*Use a more complicated way to gen an elt list*/
+ List<Element> l2 = XMLU.select( parse(ret2).getRootElement() ,
"data","message"); /*Use a more complicated way to gen an elt list*/
+ List<List<Element>> l = new ArrayList<List<Element>>();
+ l.add(l1); l.add(l2);
+ return l;
+}

- /*
- System.out.println("Request :\n" + query);
- System.out.println( "Response :\n" + (result=request(query)) );
- Document doc = parse(result);
- */
-// Element relt = doc.getRootElement();

- // System.out.println("Relt :\n" + relt.toString() ) ;
- /*
- List metadatas = rootElement.getChildren("metadata", nmwg);
- List datas = rootElement.getChildren("data", nmwg);
- Element metadata;
- Element data;
- int i = 0;
-
-
- for(i =0 ; ( metadata.iterator().hasNext(); i++ ){
- metadata = (Element) metadatas.iterator().next();
-
- }
-
- data = (Element) datas.iterator().next();
-*/
-}
-
static int i = 0;

public static boolean equal( Attribute at1 , Attribute at2 ){
boolean ret = at1.getValue().trim().equals(at2.getValue().trim()) &&
at1.getName().equals(at2.getName());
- if(!ret) print("Attribute ! at1 : " + at1 + "\nat2 : " + at2 );
+// if(!ret) print("Attribute ! at1 : " + at1 + "\nat2 : " + at2 );
return ret;
}

@@ -211,7 +203,60 @@
return false;
}

+
+ List l1 = elt1.getAttributes(), l2 = elt2.getAttributes();
+
+
+ if( l1.size() != l2.size() ){
+ print("Node 1: " + elt1.getName() + " has " + l1.size() + " attributes
whereas node 2: " + elt2.getName() + " has " + l2.size() + " attributes");
+ print( "Node1==>Element1:\n " + printElt(elt1) + "\n\n whereas
Node2==>Element2:\n" +printElt(elt2));
+ return false;
+ }
+ Iterator it1 = l1.iterator(), it2 = l2.iterator();
+
+ Attribute att1, att2;
+ if( elt1.getName().equals("metadata") == false &&
elt1.getName().equals("data") == false )
+ while( it1.hasNext() )
+ if( equal( (att1=(Attribute) it1.next()) , (att2=(Attribute) it2.next())
) == false ){
+ print("Attribute mismatch: Found Node1 " + elt1.getName() + "
attribute :\n" + printAtt(att1) +
+ "Found Node2 " + elt2.getName() + " attribute :\n" +
printAtt(att2 ) );
+ return false;
+ }
/* Compare children */
+ l1 = elt1.getChildren(); l2 = elt2.getChildren();
+
+ if( l1.size() != l2.size() ){
+ print("Node 1: " + elt1.getName() + "has " + l1.size() + " elements
whereas node 2: " + elt2.getName() + " has " + l2.size() + " elements");
+ return false;
+ }
+
+ it1 = l1.iterator() ; it2 = l2.iterator();
+
+ while( it1.hasNext() )
+ if( equal( (Element) it1.next() , (Element) it2.next() ) == false )
return false;
+
+ return true;
+}
+
+/*
+ * Similar to equals method but less strict. In particular we allow elt1 to
+ * have additional attributes than elt2
+ *
+ * */
+public static boolean superset( Element elt1 , Element elt2 ) {
+ i++;
+
+ if( elt1.getName().equals(elt2.getName()) == false ){
+ print("Name ! " + i);
+ return false;
+ }
+
+ if( elt1.getText().trim().equals(elt2.getText().trim()) == false ){
+ print("Text ! elt1:\n" + elt1.getText() + "\nelt2:\n"+ elt2.getText() );
+ return false;
+ }
+
+ /* Compare children */
List l1 = elt1.getChildren() , l2 = elt2.getChildren();

if( l1.size() != l2.size() ){
@@ -222,24 +267,66 @@
Iterator it1 = l1.iterator() , it2 = l2.iterator();

while( it1.hasNext() )
- if( equal( (Element) it1.next() , (Element) it2.next() ) == false )
return false;
+ if( superset( (Element) it1.next() , (Element) it2.next() ) == false )
return false;

l1 = elt1.getAttributes();
l2 = elt2.getAttributes();

- if( l1.size() != l2.size() ){
- print("Node 1: " + elt1.getName() + "has " + l1.size() + " elements
whereas node 2: " + elt2.getName() + " has " + l2.size() + " elements");
+ if( l1.size() < l2.size() ){
+ print("Superset:Node 1: " + elt1.getName() + "has " + l1.size() + "
attributes whereas node 2: " + elt2.getName() + " has " + l2.size() + "
attributes");
+ print( "Node1==>Element1:\n " + printElt(elt1) + "\n\n whereas
Node2==>Element2:\n");
+ print( printElt(elt2));
return false;
}
- it1 = l1.iterator() ;
+
+ boolean found;
+ Attribute att1,att2;
+ //it1 = l1.iterator() ;
it2 = l2.iterator();
-
+
if( elt1.getName().equals("metadata") == false &&
elt1.getName().equals("data") == false )
- while( it1.hasNext() )
- if( equal( (Attribute) it1.next() , (Attribute) it2.next() ) == false )
return false;
+ while( it2.hasNext() ){
+ found = false;
+ it1 = l1.iterator();
+ att2=(Attribute) it2.next();
+ while( it1.hasNext() ){
+ if( equal( (att1=(Attribute) it1.next()) , att2 ) ){
+ found = true;
+ break;
+ }
+ }
+ if( found == false ){
+ print("Attribute in Node2 :\n" + printAtt(att2) + "\n could not be
found in Node1's attributes:\n" + printElt(elt1) );
+ return false;
+ }
+ }
return true;
}

+public static String printAtt( Attribute at1 ){
+ return at1.getName() + " = \"" + at1.getValue().trim() +"\"";
+}
+
+public static String printElt( Element elt1 ){
+ Iterator it1 = elt1.getAttributes().iterator();
+ String ret = "< ";
+
+ ret += elt1.getName() + " ";
+
+ while( it1.hasNext() ) ret += printAtt((Attribute) it1.next());
+
+ ret += " >\n";
+ if( elt1.getText().trim().equals("") == false ) ret += elt1.getText() +
"\n";
+ it1 = elt1.getChildren().iterator();
+
+ while( it1.hasNext() )
+ ret += printElt((Element) it1.next()) + "\n";
+
+ ret += "</" + elt1.getName() + ">";
+
+ return ret;
+}
+
public static void main( String[] args ) throws Exception {

Element[] elts =
getElements("http://reed.man.poznan.pl:8085/axis/services/MA";);

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSDeregister.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSKeepalive.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSOperation.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSQuery.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/LSRegister.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/Operation.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/SOAPClient.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/StringOutputStream.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/TestStep.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/Util.java

Added:
trunk/functional-testing/LSsoapui/src/org/perfsonar/service/testing/XMLU.java

Added: trunk/functional-testing/LSsoapui/suijar/isorelax-jaxp-bridge-1.0.jar


Property changes on:
trunk/functional-testing/LSsoapui/suijar/isorelax-jaxp-bridge-1.0.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/suijar/isorelax.jar


Property changes on: trunk/functional-testing/LSsoapui/suijar/isorelax.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/suijar/soapui-1.7.6.jar


Property changes on: trunk/functional-testing/LSsoapui/suijar/soapui-1.7.6.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/suijar/xmlpublic-2.3.0.jar


Property changes on:
trunk/functional-testing/LSsoapui/suijar/xmlpublic-2.3.0.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream

Added: trunk/functional-testing/LSsoapui/wsdl/lsKeepalive.wsdl

Added: trunk/functional-testing/LSsoapui/wsdl/lsQuery.wsdl



  • perfsonar: r3257 - in trunk/functional-testing/LSsoapui: . ant doc ext jar rnc/Deregister rnc/Echo rnc/Keepalive rnc/Query rnc/Register soapui_template src/org/perfsonar/service src/org/perfsonar/service/loader src/org/perfsonar/service/testing suijar wsdl, svnlog, 01/21/2008

Archive powered by MHonArc 2.6.16.

Top of Page