Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r3678 - trunk/functional-testing/aa-test

Subject: perfsonar development work

List archive

perfsonar: r3678 - trunk/functional-testing/aa-test


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r3678 - trunk/functional-testing/aa-test
  • Date: Tue, 15 Apr 2008 10:53:10 -0400

Author: david.schmitz
Date: 2008-04-15 10:53:10 -0400 (Tue, 15 Apr 2008)
New Revision: 3678

Modified:
trunk/functional-testing/aa-test/Functional Testing-AA Specification
Document.doc
trunk/functional-testing/aa-test/aa-func-test-soapui-project.xml
Log:
updated with new results codes
further test for faulty request concerning certificate authentication


Modified: trunk/functional-testing/aa-test/Functional Testing-AA
Specification Document.doc
===================================================================
(Binary files differ)

Modified: trunk/functional-testing/aa-test/aa-func-test-soapui-project.xml
===================================================================
--- trunk/functional-testing/aa-test/aa-func-test-soapui-project.xml
2008-04-15 14:33:39 UTC (rev 3677)
+++ trunk/functional-testing/aa-test/aa-func-test-soapui-project.xml
2008-04-15 14:53:10 UTC (rev 3678)
@@ -1,5 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
-<con:soapui-project name="AAFunctionalTesting" soapui-version="2.0 beta1"
xmlns:con="http://eviware.com/soapui/config";><con:settings><con:setting
id="ProjectSettings@projectRoot">/local/home/a2824al/data/proj/geant/jra1/devel/aa-func-test</con:setting></con:settings><con:interface
name="MetadataKeyBinding"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}MetadataKeyBinding";
soapVersion="1_1"
definition="file:/local/home/a2824al/data/proj/geant/jra1/devel/aa-func-test/old/metadataKey/metadataKeyRequest.wsdl"

id="2822955e-b45a-472c-95c5-d4a50fcdbf91"><con:settings/><con:endpoints><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</con:endpoint><con:endpoint>http://chaos169.test.atlantis.ugent.be:8080/JAVA-SSHTELNET-MP-1.2.1/services/TelnetSSH</con:endpoint><con:endpoint>http://telnet-mp.perfsonar.vh.hbone.hu:8080/JAVA-SSHTELNET-MP-1.2/services/TelnetSSH</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="" name="MetadataKey" bindingOperationNa
me="MetadataKey" inputName="" receivesAttachments="false"
sendsAttachments="false"
id="2c0655b6-cc2d-4b46-84b5-a399f13a8e6f"><con:settings/><con:call
name="Request 1"
id="6763a18e-a3e1-424b-b940-40f2681fe3cf"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</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/";>
+<con:soapui-project name="AAFunctionalTesting" soapui-version="2.0 beta1"
xmlns:con="http://eviware.com/soapui/config";><con:settings><con:setting
id="ProjectSettings@projectRoot">/local/home/a2824al/data/proj/geant/jra1/devel/aa-func-test</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.TestRunnerAction@values-local"><![CDATA[<xml-fragment
xmlns:con="http://eviware.com/soapui/config";>
+ <con:entry key="TestRunner Path" value=""/>
+ <con:entry key="Domain" value=""/>
+ <con:entry key="WSS Password Type" value=""/>
+ <con:entry key="Tool Args" value=""/>
+ <con:entry key="Host:Port" value=""/>
+ <con:entry key="Add Settings" value="false"/>
+ <con:entry key="Save Project" value="false"/>
+ <con:entry key="Root Folder" value=""/>
+ <con:entry key="Export All" value="false"/>
+ <con:entry key="Enable UI" value="false"/>
+ <con:entry key="TestSuite" value="AuthNEEBinding TestSuite"/>
+ <con:entry key="TestCase" value="Faulty AuthNEE Certificate"/>
+ <con:entry key="Endpoint" value=""/>
+ <con:entry key="Export JUnit Results" value="false"/>
+ <con:entry key="Print Report" value="false"/>
+ <con:entry key="Open Report" value="false"/>
+ <con:entry key="Username" value=""/>
+</xml-fragment>]]></con:setting></con:settings><con:interface
name="MetadataKeyBinding"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}MetadataKeyBinding";
soapVersion="1_1"
definition="file:/local/home/a2824al/data/proj/geant/jra1/devel/aa-func-test/old/metadataKey/metadataKeyRequest.wsdl"

id="2822955e-b45a-472c-95c5-d4a50fcdbf91"><con:settings/><con:endpoints><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</con:endpoint><con:endpoint>http://chaos169.test.atlantis.ugent.be:8080/JAVA-SSHTELNET-MP-1.2.1/services/TelnetSSH</con:endpoint><con:endpoint>http://telnet-mp.perfsonar.vh.hbone.hu:8080/JAVA-SSHTELNET-MP-1.2/services/TelnetSSH</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="" name="MetadataKey"
bindingOperationName="MetadataKey" inputName="" receivesAttachments="false"
sendsAttachments="false"
id="2c0655b6-cc2d-4b46-84b5-a399f13a8e6f"><con:settings/><con:call
name="Request 1" id="6763a18e-a3e1-424b-b940-40f2681fe3cf"><con:settin

gs/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</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>
<ns:message id="?" type="?">
@@ -125,7 +143,7 @@
<xs:attribute name="metadataIdRef" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
-</xs:schema></con:content><con:type>http://www.w3.org/2001/XMLSchema</con:type></con:part></con:definitionCache></con:interface><con:interface
name="AuthNEEBinding"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}AuthNEEBinding";
soapVersion="1_1"
definition="file:/local/home/a2824al/data/proj/geant/jra1/devel/aa-func-test/AuthNEERequest.wsdl"><con:settings/><con:endpoints><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</con:endpoint><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="" name="AuthNEE" bindingOperationName="AuthNEE"
inputName="" receivesAttachments="false"
sendsAttachments="false"><con:settings/><con:call name="Request
1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";>
+</xs:schema></con:content><con:type>http://www.w3.org/2001/XMLSchema</con:type></con:part></con:definitionCache></con:interface><con:interface
name="AuthNEEBinding"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}AuthNEEBinding";
soapVersion="1_1"
definition="file:/local/home/a2824al/data/proj/geant/jra1/devel/aa-func-test/AuthNEERequest.wsdl"

id="a4b34dfe-0b43-4f06-8c8c-287d00a45aa3"><con:settings/><con:endpoints><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</con:endpoint><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="" name="AuthNEE" bindingOperationName="AuthNEE"
inputName="" receivesAttachments="false" sendsAttachments="false"
id="5af65876-4f25-44a0-b76e-87b9f2c4feb0"><con:settings/><con:call
name="Request 1" id="aa2f432a-aef9-4801-81dc-019189d8d2f3"><con:settings/>

<con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/TelnetSSHMP/services/TelnetSSHMP</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>
<ns:message id="?" type="?">
@@ -251,7 +269,7 @@
</port>
</service>

-</definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:interface
name="EchoRequest"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}EchoRequest"; soapVersion="1_1"
definition="file:C:\Documents and Settings\IBM\My
Documents\EchosoapUI\echo-req.wsdl"><con:settings/><con:endpoints><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint></con:endpoints><con:operation
action="" name="Echo" bindingOperationName="Echo" inputName=""
isOneWay="false" receivesAttachments="false"
sendsAttachments="false"><con:settings/><con:call name="Request
1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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/";>
+</definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:interface
name="EchoRequest"
bindingName="{http://ggf.org/ns/nmwg/base/2.0/}EchoRequest"; soapVersion="1_1"
definition="file:C:\Documents and Settings\IBM\My
Documents\EchosoapUI\echo-req.wsdl"
id="f3ac2465-4d4b-4c77-afef-9fdceffb2be3"><con:settings/><con:endpoints><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint></con:endpoints><con:operation
action="" name="Echo" bindingOperationName="Echo" inputName=""
isOneWay="false" receivesAttachments="false" sendsAttachments="false"
id="a5acbb0a-fc58-4ce0-b657-f06c56eabc67"><con:settings/><con:call
name="Request 1"
id="2d81b616-1bd0-4f71-8879-d7665b8db934"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schema
s.xmlsoap.org/soap/envelope/" xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";>
<soapenv:Header/>
<soapenv:Body>
<ns:message id="?" messageIdRef="?" type="?">
@@ -365,8 +383,8 @@
</port>
</service>

-</definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:testSuite
name="MetadataKeyBinding TestSuite"
id="3e494679-1692-4add-8d8f-201fcc1984b0"><con:settings/><con:runType>PARALLELL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal Authenticated Request/Certificate" searchProperties="true"
id="1d231643-9594-4451-a629-eb1a3da2e310"><con:settings/><con:testStep
type="groovy" name="Groovy Script
Test"><con:settings/><con:config><script>def greet = 5
-log.info "Hello $context"</script></con:config></con:testStep><con:testStep
type="groovy"
name="SignRequestMessage"><con:settings/><con:config><script><![CDATA[
+</definitions></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache></con:interface><con:testSuite
name="MetadataKeyBinding TestSuite"
id="3e494679-1692-4add-8d8f-201fcc1984b0"><con:settings/><con:runType>PARALLELL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal Authenticated Request/Certificate" searchProperties="true"
id="1d231643-9594-4451-a629-eb1a3da2e310"><con:settings/><con:testStep
type="groovy" name="Groovy Script Test"
id="5d82d27d-c97b-4266-8d19-54e44d154e27"><con:settings/><con:config><script>def
greet = 5
+log.info "Hello $context"</script></con:config></con:testStep><con:testStep
type="groovy" name="SignRequestMessage"
id="7623df37-de4c-410f-84f0-6ff242571c8f"><con:settings/><con:config><script><![CDATA[
//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// necesasry java imports

@@ -447,7 +465,7 @@
//

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]]></script></con:config></con:testStep><con:testStep type="groovy"
name="Copy of SignRequestMessage"
disabled="true"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="Copy of SignRequestMessage" disabled="true"
id="2c9c3ea7-2b73-4a0e-a358-6cd7a4116fd7"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -544,9 +562,9 @@
</ns:subject>
</ns:metadata>
<ns:data id="d1" metadataIdRef="md1"/>
-
</ns:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion type="XPath
Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</ns:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion type="XPath Match"
id="fce6a859-ca5f-4b6b-8f55-56cec66ecbe9"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata) >
2</path><content>true</content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Copy of CallAuthenticatedService"
disabled="true"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>MetadataKeyBinding</con:interface><con:operation>MetadataKey</con:operation><con:request
name="Copy of
CallAuthenticatedService"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://telnet-mp.perfsonar.vh.hbone.hu:8080/JAVA-SSHTELNET-MP-1.2/services/TelnetSSH</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata) >
2</path><content>true</content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Copy of CallAuthenticatedService" disabled="true"
id="6983cd34-b0c3-4a1b-aaa1-15a3491d7a37"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>MetadataKeyBinding</con:interface><con:operation>MetadataKey</con:operation><con:request
name="Copy of
CallAuthenticatedService"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://telnet-mp.perfsonar.vh.hbone.hu:8080/JAVA-SSHTELNET-MP-1.2/services/TelnetSSH</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/nmwg/base/2.0/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/200
1/XMLSchema-instance">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
@@ -562,7 +580,7 @@
<ns:data id="d1" metadataIdRef="md1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>assert
messageExchange.timeTaken &lt;
540</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnSignRequestMessage"><con:settings/><con:config><script><![CDATA[
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion
type="GroovyScriptAssertion"
id="f2107487-69e9-4849-a142-883b561e97de"><con:configuration><scriptText>assert
messageExchange.timeTaken &lt;
540</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnSignRequestMessage"
id="65dde784-f32a-43db-96f2-5d52430aec5c"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -620,7 +638,7 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty Authenticated Request/Certificate" searchProperties="true"
id="caeae90e-91ce-4dc1-a71e-dca57e15a37d"><con:settings/><con:testStep
type="groovy"
name="SignRequestMessage"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty Authenticated Request/Certificate" searchProperties="true"
id="caeae90e-91ce-4dc1-a71e-dca57e15a37d"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="c0395543-7afb-4662-9397-2df15d4e47cd"><con:settings/><con:config><script><![CDATA[
//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// necesasry java imports

@@ -701,7 +719,7 @@
//

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityToken"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityToken"
id="88201194-1cac-4b3b-9d43-0b668f328543"><con:settings/><con:config><script><![CDATA[
//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// necesasry java imports

@@ -776,7 +794,7 @@
</ns:subject>
</ns:metadata>
<ns:data id="d1" metadataIdRef="md1"/>
-
</ns:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion type="XQuery
Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</ns:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion type="XQuery Match"
id="d1c86a27-63e3-4af6-b80b-50327d091f76"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -787,7 +805,7 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>error.authn.getting_sec_token&lt;/id>
-&lt;/items></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnSignRequestMessage"><con:settings/><con:config><script><![CDATA[
+&lt;/items></content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnSignRequestMessage"
id="e6e70e13-969a-4f7b-ade1-6e8e20eebaa3"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -845,7 +863,7 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal Authenticated Request SAML Assertion" searchProperties="true"
id="8c5160a5-b5c6-4d9b-8e6a-656f8c46009b"><con:settings/><con:testStep
type="groovy"
name="AddSAMLAssertionToRequestMessage"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal Authenticated Request SAML Assertion" searchProperties="true"
id="8c5160a5-b5c6-4d9b-8e6a-656f8c46009b"><con:settings/><con:testStep
type="groovy" name="AddSAMLAssertionToRequestMessage"
id="3f79b09c-042b-444d-80cf-67b69b0bcb77"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -985,9 +1003,9 @@
</ns:subject>
</ns:metadata>
<ns:data id="d1" metadataIdRef="md1"/>
-
</ns:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion type="XPath
Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</ns:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="SOAP Response"
id="4dc6dca8-4479-4c6e-a0d3-85e1e875d6dd"/><con:assertion type="XPath Match"
id="05899041-60e0-47bb-aed4-021a06a8c724"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata) >
2</path><content>true</content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnSignRequestMessage"><con:settings/><con:config><script><![CDATA[
+count(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata) >
2</path><content>true</content><allowWildcards>true</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnSignRequestMessage"
id="0fdd1e79-76ed-4afa-a371-fb116d72ec8f"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -1045,14 +1063,14 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="AuthNEEBinding
TestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="AuthNEE SchemaTest" searchProperties="true"
id="29872efc-9b2f-4dc3-b7b9-6dd1fd2c4085"><con:settings/><con:testStep
type="request" name="AuthNEE Ok / No
SecurityToken"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Ok / No
SecurityToken"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:x

si="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="AuthNEEBinding TestSuite"
id="4fba81ab-7743-41c4-b94a-8d33ec05a36d"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="AuthNEE SchemaTest" searchProperties="true"
id="29872efc-9b2f-4dc3-b7b9-6dd1fd2c4085"><con:settings/><con:testStep
type="request" name="AuthNEE Ok / No SecurityToken"
id="2e9ad87f-02f1-4005-94f3-562cd40799b7"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Ok / No
SecurityToken"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="ht
tp://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="854ecc0b-9854-46d8-afeb-a91aa2bedcdb"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="21dae4f5-8bda-49e1-96e8-3aa93700814a"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1063,21 +1081,21 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>error.authn.not_sectoken&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong
Namespaces"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
Namespaces"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong Namespaces"
id="b7b6dbb1-d9b0-4810-9d5b-77636ee503d7"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
Namespaces"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwgXXXX:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="Not SOAP Fault
Assertion"/><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong
MessageType"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
MessageType"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmw
g:message id="authNMessage1" type="AuthNEERequestXX"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="6fe7322a-4a1e-457e-b3a0-1c953b6aef8b"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="Not SOAP Fault Assertion"
id="e63784af-0d30-480d-9297-2a623540e79e"/><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong MessageType"
id="04823a5d-2831-4a08-850d-92f9de42c483"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
MessageType"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequestXX"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="08d4e50c-b7d2-48d2-ab09-2411c17bfcfc"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="6f13e3e7-6da6-4f9a-ae81-3f4f3ec97bc7"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1088,13 +1106,13 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>error.common.action_not_supported&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / NoData"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty /
NoData"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / NoData"
id="b64f6dac-8081-41a2-a8b3-9e8e2b06316d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty /
NoData"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="0059020d-6d08-429a-b39c-e493afcd14dc"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="49adf608-86ab-4b26-ab73-719a2bc09a51"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1105,14 +1123,14 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>warning.common.no_metadata&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong
MetadataRef"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
MetadataRef"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong MetadataRef"
id="065755e4-3dcb-402c-bed8-e49eb0e47c97"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
MetadataRef"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
>
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadataX"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="b4861c53-51c3-4b2c-b437-fa83be7a1f07"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="452d0d5c-8918-4f5b-9c46-632ecae7b4bb"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1123,14 +1141,14 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>warning.common.no_metadata&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong
SecTokenReference"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
SecTokenReference"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="AuthNEE Faulty / Wrong SecTokenReference"
id="76a0e357-216f-4ac9-a3ee-d5e5468a17ab"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request
name="AuthNEE Faulty / Wrong
SecTokenReference"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/nmw
g/base/2.0/">
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-invalid</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="ab00922c-f3ee-4e5a-907d-afe75af068f9"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="6fb20952-1d52-4987-9cee-18bf24e4f21e"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1141,7 +1159,7 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>error.authn.not_sectoken&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal AuthNEE Certificate" searchProperties="true"
id="c2215499-8855-4b1a-86da-1f6a8f1b9f18"><con:settings/><con:testStep
type="groovy"
name="SignRequestMessage"><con:settings/><con:config><script><![CDATA[
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal AuthNEE Certificate" searchProperties="true"
id="c2215499-8855-4b1a-86da-1f6a8f1b9f18"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="ed6bdadb-2fe7-4c15-9687-c4e9d220c695"><con:settings/><con:config><script><![CDATA[
//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// necesasry java imports

@@ -1220,14 +1238,14 @@
//

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="85c4502c-e8b6-4b17-a48c-7fbebd855f96"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="926367b9-223f-4c2a-82ab-2e9d89db1090"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="3631cedb-a782-4869-a4c8-7251f2ce3193"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="3b35f6b6-6347-487f-9724-15f0db3231c4"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1238,7 +1256,7 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>success.as.authn&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnsignRequestMessage"><con:settings/><con:config><script><![CDATA[
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="a0977f0f-afe7-4875-a31a-819fef720f24"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -1296,7 +1314,7 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE Certificate" searchProperties="true"
id="8736a410-819f-4032-aac4-8728f00f47fd"><con:settings/><con:testStep
type="groovy"
name="SignRequestMessage"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE Certificate" searchProperties="true"
id="8736a410-819f-4032-aac4-8728f00f47fd"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="e7882f04-81a4-4748-91d5-dabed62e1a48"><con:settings/><con:config><script><![CDATA[
//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// necesasry java imports

@@ -1375,7 +1393,7 @@
//

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityToken"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityToken"
id="2d66cdc2-7d82-4414-b0a4-3e1c80f884dd"><con:settings/><con:config><script><![CDATA[
//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// necesasry java imports

@@ -1422,7 +1440,7 @@
org.w3c.dom.NodeList nodeList =
request.getElementsByTagName("wsse:BinarySecurityToken");
Node binSecToken = nodeList.item(0);
String data = binSecToken.getFirstChild().getNodeValue();
-binSecToken.getFirstChild().setNodeValue("AA"+data);
+binSecToken.getFirstChild().setNodeValue("AA"+data.substring(2));


//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
@@ -1442,14 +1460,14 @@
//

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
- <nmwg:metadata id="authNMetadata">
- <nmwg:parameters id="keys">
- <nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
- <nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="0ae96ab0-44b6-49e0-a387-96e7e7c9830a"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="588846f0-6890-4b9e-80a5-783d8982be33"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
+ <nmwg:metadata id="authNMetadata">
+ <nmwg:parameters id="keys">
+ <nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="1fdd36d8-3e08-45d6-affc-79d7600bdfa8"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="5025f1fc-d632-4d18-9f7e-9555f363a24e"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1459,8 +1477,8 @@
return &lt;id>{data($z)}&lt;/id>
}
&lt;/items></path><content>&lt;items>
-&lt;id>unknown&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnsignRequestMessage"><con:settings/><con:config><script><![CDATA[
+&lt;id>error.authn.wssec&lt;/id>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="b11e31a2-b3b2-4e98-94a0-28b50c396395"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -1518,18 +1536,1157 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal AuthNEE SAML Assertion" searchProperties="true"
id="bca8335f-c4a5-45fe-bfd2-3888aa609222"><con:settings/><con:testStep
type="groovy"
name="AddSAMLAssertionToRequestMessage"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE Certificate / early timestamp" searchProperties="true"
id="c6b3e2e6-d00b-496e-b3a1-a0f3b02d18e9"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="e7882f04-81a4-4748-91d5-dabed62e1a48"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
import org.apache.axis.message.SOAPBodyElement;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.utils.XMLUtils;

+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData;
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
import org.w3c.dom.Document;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get security token from files (java)
+
+//AuthNData authnData = AuthNDataFactory.getDefaultAuthNData();
+AuthNX509Data authnData = new WSSAuthNX509Data();
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+org.w3c.dom.NodeList nodeList = request.getElementsByTagName("nmwg:message");
+SOAPBodyElement requestMessage = new SOAPBodyElement(nodeList.item(0));
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// sign soap body contents (java)
+
+//log.info("step1")
+Object reqRaw = authnData.addX509STInMessage(requestMessage,
"/cert/privkey-edugain-cnm.pem", "/cert/cert-edugain-cnm.pem");
+//log.info("step2")
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+envelope = (SOAPEnvelope) reqRaw;
+Document doc = envelope.getAsDocument();
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(doc.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "signed soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityElement_early_timestamp"
id="2d66cdc2-7d82-4414-b0a4-3e1c80f884dd"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// actual code to alter some part of security element
+
+org.w3c.dom.NodeList nodeList = request.getElementsByTagName("wsu:Created");
+Node node1 = nodeList.item(0);
+String data = node1.getFirstChild().getNodeValue();
+
+// fromat 'yyyy-mm-ddThh-mm-ss.hhhZ'
+
+int year = Integer.parseInt(data.substring(0, 4));
+int month = Integer.parseInt(data.substring(5, 7));
+int day = Integer.parseInt(data.substring(8, 10));
+
+int hour = Integer.parseInt(data.substring(11, 13));
+int minute = Integer.parseInt(data.substring(14, 16));
+int second = Integer.parseInt(data.substring(17, 19));
+
+log.info("old
time="+year+"-"+month+"-"+day+"T"+hour+":"+minute+":"+second+".000Z")
+
+// rough estimation:
+double tsec = second+((double) 60)*(minute+((double) 60)*(hour+((double)
24)*(day+((double) 31)*(month+((double) 12)*year))));
+log.info("tsec="+tsec)
+
+// use difference value which is much greater than the error introduced by
assumption each month=31 days
+tsec -= ((double) 60)*60*24*10;
+
+double second2 = tsec % 60;
+tsec = (tsec - second2) / 60;
+
+double minute2 = tsec % 60;
+tsec = (tsec - minute2) / 60;
+
+double hour2 = tsec % 24;
+tsec = (tsec - hour2) / 24;
+
+double day2 = tsec % 31;
+tsec = (tsec - day2) / 31;
+
+double month2 = tsec % 12;
+tsec = (tsec - month2) / 12;
+
+double year2 = tsec;
+
+String year_s = (int) year2;
+String month_s = (int) month2;
+String day_s = (int) day2;
+String hour_s = (int) hour2;
+String minute_s = (int) minute2;
+String second_s = (int) second2;
+
+year_s = "0000".substring(year_s.length()) + year_s;
+month_s = "00".substring(month_s.length()) + month_s;
+day_s = "00".substring(day_s.length()) + day_s;
+hour_s = "00".substring(hour_s.length()) + hour_s;
+minute_s = "00".substring(minute_s.length()) + minute_s;
+second_s = "00".substring(second_s.length()) + second_s;
+
+String data2 =
year_s+"-"+month_s+"-"+day_s+"T"+hour_s+":"+minute_s+":"+second_s+".000Z";
+
+log.info("new time="+data2)
+
+node1.getFirstChild().setNodeValue(data2);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+nodeList = request.getElementsByTagName("wsu:Expires");
+node1 = nodeList.item(0);
+data = node1.getFirstChild().getNodeValue();
+
+// fromat 'yyyy-mm-ddThh-mm-ss.hhhZ'
+
+year = Integer.parseInt(data.substring(0, 4));
+month = Integer.parseInt(data.substring(5, 7));
+day = Integer.parseInt(data.substring(8, 10));
+
+hour = Integer.parseInt(data.substring(11, 13));
+minute = Integer.parseInt(data.substring(14, 16));
+second = Integer.parseInt(data.substring(17, 19));
+
+log.info("old
time="+year+"-"+month+"-"+day+"T"+hour+":"+minute+":"+second+".000Z")
+
+// rough estimation:
+tsec = second+((double) 60)*(minute+((double) 60)*(hour+((double)
24)*(day+((double) 31)*(month+((double) 12)*year))));
+log.info("tsec="+tsec)
+
+// use difference value which is much greater than the error introduced by
assumption each month=31 days
+tsec -= ((double) 60)*60*24*10;
+
+second2 = tsec % 60;
+tsec = (tsec - second2) / 60;
+
+minute2 = tsec % 60;
+tsec = (tsec - minute2) / 60;
+
+hour2 = tsec % 24;
+tsec = (tsec - hour2) / 24;
+
+day2 = tsec % 31;
+tsec = (tsec - day2) / 31;
+
+month2 = tsec % 12;
+tsec = (tsec - month2) / 12;
+
+year2 = tsec;
+
+year_s = (int) year2;
+month_s = (int) month2;
+day_s = (int) day2;
+hour_s = (int) hour2;
+minute_s = (int) minute2;
+second_s = (int) second2;
+
+year_s = "0000".substring(year_s.length()) + year_s;
+month_s = "00".substring(month_s.length()) + month_s;
+day_s = "00".substring(day_s.length()) + day_s;
+hour_s = "00".substring(hour_s.length()) + hour_s;
+minute_s = "00".substring(minute_s.length()) + minute_s;
+second_s = "00".substring(second_s.length()) + second_s;
+
+data2 =
year_s+"-"+month_s+"-"+day_s+"T"+hour_s+":"+minute_s+":"+second_s+".000Z";
+
+log.info("new time="+data2)
+
+node1.getFirstChild().setNodeValue(data2);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "altered soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="0ae96ab0-44b6-49e0-a387-96e7e7c9830a"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="588846f0-6890-4b9e-80a5-783d8982be33"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
+ <nmwg:metadata id="authNMetadata">
+ <nmwg:parameters id="keys">
+ <nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="1fdd36d8-3e08-45d6-affc-79d7600bdfa8"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="5025f1fc-d632-4d18-9f7e-9555f363a24e"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+&lt;items>
+{
+ for $z in
//soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text()
+ order by $z
+ return &lt;id>{data($z)}&lt;/id>
+}
+&lt;/items></path><content>&lt;items>
+&lt;id>error.authn.wssec&lt;/id>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="b11e31a2-b3b2-4e98-94a0-28b50c396395"><con:settings/><con:config><script><![CDATA[
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;

+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+org.w3c.dom.NodeList nodeList1 =
request.getElementsByTagName("soapenv:Header");
+Node soap_header = nodeList1.item(0);
+log.info("debug:"+soap_header);
+
+if (soap_header != null) {
+org.w3c.dom.NodeList nodeList2 =
soap_header.getElementsByTagName("wsse:Security");
+Node wsse_node = nodeList2.item(0);
+log.info("debug:"+wsse_node);
+ if (wsse_node != null) {
+ soap_header.removeChild(wsse_node);
+}
+}
+
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap message -> xml formatted string (java + some groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "unsigned soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE Certificate / late timestamp" searchProperties="true"
id="6ed2bba3-c172-4bc2-8836-06e0c2483b4d"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="e7882f04-81a4-4748-91d5-dabed62e1a48"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData;
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+import org.w3c.dom.Document;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get security token from files (java)
+
+//AuthNData authnData = AuthNDataFactory.getDefaultAuthNData();
+AuthNX509Data authnData = new WSSAuthNX509Data();
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+org.w3c.dom.NodeList nodeList = request.getElementsByTagName("nmwg:message");
+SOAPBodyElement requestMessage = new SOAPBodyElement(nodeList.item(0));
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// sign soap body contents (java)
+
+//log.info("step1")
+Object reqRaw = authnData.addX509STInMessage(requestMessage,
"/cert/privkey-edugain-cnm.pem", "/cert/cert-edugain-cnm.pem");
+//log.info("step2")
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+envelope = (SOAPEnvelope) reqRaw;
+Document doc = envelope.getAsDocument();
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(doc.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "signed soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityElement_late_timestamp"
id="2d66cdc2-7d82-4414-b0a4-3e1c80f884dd"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// actual code to alter some part of security element
+
+org.w3c.dom.NodeList nodeList = request.getElementsByTagName("wsu:Created");
+Node node1 = nodeList.item(0);
+String data = node1.getFirstChild().getNodeValue();
+
+// fromat 'yyyy-mm-ddThh-mm-ss.hhhZ'
+
+int year = Integer.parseInt(data.substring(0, 4));
+int month = Integer.parseInt(data.substring(5, 7));
+int day = Integer.parseInt(data.substring(8, 10));
+
+int hour = Integer.parseInt(data.substring(11, 13));
+int minute = Integer.parseInt(data.substring(14, 16));
+int second = Integer.parseInt(data.substring(17, 19));
+
+log.info("old
time="+year+"-"+month+"-"+day+"T"+hour+":"+minute+":"+second+".000Z")
+
+// rough estimation:
+double tsec = second+((double) 60)*(minute+((double) 60)*(hour+((double)
24)*(day+((double) 31)*(month+((double) 12)*year))));
+log.info("tsec="+tsec)
+
+// use difference value which is much greater than the error introduced by
assumption each month=31 days
+tsec -= ((double) 60)*60*24*10;
+
+double second2 = tsec % 60;
+tsec = (tsec - second2) / 60;
+
+double minute2 = tsec % 60;
+tsec = (tsec - minute2) / 60;
+
+double hour2 = tsec % 24;
+tsec = (tsec - hour2) / 24;
+
+double day2 = tsec % 31;
+tsec = (tsec - day2) / 31;
+
+double month2 = tsec % 12;
+tsec = (tsec - month2) / 12;
+
+double year2 = tsec;
+
+String year_s = (int) year2;
+String month_s = (int) month2;
+String day_s = (int) day2;
+String hour_s = (int) hour2;
+String minute_s = (int) minute2;
+String second_s = (int) second2;
+
+year_s = "0000".substring(year_s.length()) + year_s;
+month_s = "00".substring(month_s.length()) + month_s;
+day_s = "00".substring(day_s.length()) + day_s;
+hour_s = "00".substring(hour_s.length()) + hour_s;
+minute_s = "00".substring(minute_s.length()) + minute_s;
+second_s = "00".substring(second_s.length()) + second_s;
+
+String data2 =
year_s+"-"+month_s+"-"+day_s+"T"+hour_s+":"+minute_s+":"+second_s+".000Z";
+
+log.info("new time="+data2)
+
+node1.getFirstChild().setNodeValue(data2);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+nodeList = request.getElementsByTagName("wsu:Expires");
+node1 = nodeList.item(0);
+data = node1.getFirstChild().getNodeValue();
+
+// fromat 'yyyy-mm-ddThh-mm-ss.hhhZ'
+
+year = Integer.parseInt(data.substring(0, 4));
+month = Integer.parseInt(data.substring(5, 7));
+day = Integer.parseInt(data.substring(8, 10));
+
+hour = Integer.parseInt(data.substring(11, 13));
+minute = Integer.parseInt(data.substring(14, 16));
+second = Integer.parseInt(data.substring(17, 19));
+
+log.info("old
time="+year+"-"+month+"-"+day+"T"+hour+":"+minute+":"+second+".000Z")
+
+// rough estimation:
+tsec = second+((double) 60)*(minute+((double) 60)*(hour+((double)
24)*(day+((double) 31)*(month+((double) 12)*year))));
+log.info("tsec="+tsec)
+
+// use difference value which is much greater than the error introduced by
assumption each month=31 days
+tsec += ((double) 60)*60*24*10;
+
+second2 = tsec % 60;
+tsec = (tsec - second2) / 60;
+
+minute2 = tsec % 60;
+tsec = (tsec - minute2) / 60;
+
+hour2 = tsec % 24;
+tsec = (tsec - hour2) / 24;
+
+day2 = tsec % 31;
+tsec = (tsec - day2) / 31;
+
+month2 = tsec % 12;
+tsec = (tsec - month2) / 12;
+
+year2 = tsec;
+
+year_s = (int) year2;
+month_s = (int) month2;
+day_s = (int) day2;
+hour_s = (int) hour2;
+minute_s = (int) minute2;
+second_s = (int) second2;
+
+year_s = "0000".substring(year_s.length()) + year_s;
+month_s = "00".substring(month_s.length()) + month_s;
+day_s = "00".substring(day_s.length()) + day_s;
+hour_s = "00".substring(hour_s.length()) + hour_s;
+minute_s = "00".substring(minute_s.length()) + minute_s;
+second_s = "00".substring(second_s.length()) + second_s;
+
+data2 =
year_s+"-"+month_s+"-"+day_s+"T"+hour_s+":"+minute_s+":"+second_s+".000Z";
+
+log.info("new time="+data2)
+
+node1.getFirstChild().setNodeValue(data2);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "altered soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="0ae96ab0-44b6-49e0-a387-96e7e7c9830a"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="588846f0-6890-4b9e-80a5-783d8982be33"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
+ <nmwg:metadata id="authNMetadata">
+ <nmwg:parameters id="keys">
+ <nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="1fdd36d8-3e08-45d6-affc-79d7600bdfa8"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="5025f1fc-d632-4d18-9f7e-9555f363a24e"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+&lt;items>
+{
+ for $z in
//soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text()
+ order by $z
+ return &lt;id>{data($z)}&lt;/id>
+}
+&lt;/items></path><content>&lt;items>
+&lt;id>error.authn.wssec&lt;/id>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="b11e31a2-b3b2-4e98-94a0-28b50c396395"><con:settings/><con:config><script><![CDATA[
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+org.w3c.dom.NodeList nodeList1 =
request.getElementsByTagName("soapenv:Header");
+Node soap_header = nodeList1.item(0);
+log.info("debug:"+soap_header);
+
+if (soap_header != null) {
+org.w3c.dom.NodeList nodeList2 =
soap_header.getElementsByTagName("wsse:Security");
+Node wsse_node = nodeList2.item(0);
+log.info("debug:"+wsse_node);
+ if (wsse_node != null) {
+ soap_header.removeChild(wsse_node);
+}
+}
+
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap message -> xml formatted string (java + some groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "unsigned soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE Certificate/ digest" searchProperties="true"
id="c74725ce-cc6b-446d-9bf6-9055c7f88201"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="e7882f04-81a4-4748-91d5-dabed62e1a48"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData;
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+import org.w3c.dom.Document;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get security token from files (java)
+
+//AuthNData authnData = AuthNDataFactory.getDefaultAuthNData();
+AuthNX509Data authnData = new WSSAuthNX509Data();
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+org.w3c.dom.NodeList nodeList = request.getElementsByTagName("nmwg:message");
+SOAPBodyElement requestMessage = new SOAPBodyElement(nodeList.item(0));
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// sign soap body contents (java)
+
+//log.info("step1")
+Object reqRaw = authnData.addX509STInMessage(requestMessage,
"/cert/privkey-edugain-cnm.pem", "/cert/cert-edugain-cnm.pem");
+//log.info("step2")
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+envelope = (SOAPEnvelope) reqRaw;
+Document doc = envelope.getAsDocument();
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(doc.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "signed soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityElement_digest"
id="2d66cdc2-7d82-4414-b0a4-3e1c80f884dd"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// alter first digest
+
+org.w3c.dom.NodeList nodeList =
request.getElementsByTagName("ds:DigestValue");
+// first digest appearing
+Node digest = nodeList.item(0);
+// second digest appearing
+//Node digest = nodeList.item(1);
+String data = digest.getFirstChild().getNodeValue();
+digest.getFirstChild().setNodeValue("AA"+data.substring(2));
+
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "altered soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="0ae96ab0-44b6-49e0-a387-96e7e7c9830a"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="588846f0-6890-4b9e-80a5-783d8982be33"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
+ <nmwg:metadata id="authNMetadata">
+ <nmwg:parameters id="keys">
+ <nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="1fdd36d8-3e08-45d6-affc-79d7600bdfa8"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="5025f1fc-d632-4d18-9f7e-9555f363a24e"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+&lt;items>
+{
+ for $z in
//soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text()
+ order by $z
+ return &lt;id>{data($z)}&lt;/id>
+}
+&lt;/items></path><content>&lt;items>
+&lt;id>error.authn.wssec&lt;/id>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="b11e31a2-b3b2-4e98-94a0-28b50c396395"><con:settings/><con:config><script><![CDATA[
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+org.w3c.dom.NodeList nodeList1 =
request.getElementsByTagName("soapenv:Header");
+Node soap_header = nodeList1.item(0);
+log.info("debug:"+soap_header);
+
+if (soap_header != null) {
+org.w3c.dom.NodeList nodeList2 =
soap_header.getElementsByTagName("wsse:Security");
+Node wsse_node = nodeList2.item(0);
+log.info("debug:"+wsse_node);
+ if (wsse_node != null) {
+ soap_header.removeChild(wsse_node);
+}
+}
+
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap message -> xml formatted string (java + some groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "unsigned soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE Certificate/ signature" searchProperties="true"
id="75622f74-d993-4d7e-b12d-c16e4ffff745"><con:settings/><con:testStep
type="groovy" name="SignRequestMessage"
id="e7882f04-81a4-4748-91d5-dabed62e1a48"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData;
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+import org.w3c.dom.Document;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get security token from files (java)
+
+//AuthNData authnData = AuthNDataFactory.getDefaultAuthNData();
+AuthNX509Data authnData = new WSSAuthNX509Data();
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+org.w3c.dom.NodeList nodeList = request.getElementsByTagName("nmwg:message");
+SOAPBodyElement requestMessage = new SOAPBodyElement(nodeList.item(0));
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// sign soap body contents (java)
+
+//log.info("step1")
+Object reqRaw = authnData.addX509STInMessage(requestMessage,
"/cert/privkey-edugain-cnm.pem", "/cert/cert-edugain-cnm.pem");
+//log.info("step2")
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+envelope = (SOAPEnvelope) reqRaw;
+Document doc = envelope.getAsDocument();
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(doc.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "signed soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityElement_signature"
id="2d66cdc2-7d82-4414-b0a4-3e1c80f884dd"><con:settings/><con:config><script><![CDATA[
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// necesasry java imports
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+//import java.security.Provider;
+//import java.security.KeyFactory;
+//import java.security.PrivateKey;
+//import java.security.cert.X509Certificate;
+//import java.security.spec.PKCS8EncodedKeySpec;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+//import org.perfsonar.base.auxiliary.components.authn.DynamicCrypto;
+import org.perfsonar.client.base.authn.AuthNDataFactory;
+//import org.perfsonar.client.base.authn.AuthNData
+import org.perfsonar.client.base.authn.AuthNX509Data;
+import org.perfsonar.client.base.authn.WSSAuthNX509Data;
+
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get current request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// extract soap body contents of soap message (java)
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// alter first digest
+
+org.w3c.dom.NodeList nodeList =
request.getElementsByTagName("ds:SignatureValue");
+Node signature = nodeList.item(0);
+String data = signature.getFirstChild().getNodeValue();
+signature.getFirstChild().setNodeValue("AA"+data.substring(2));
+
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap body -> xml formatted string (java + some variable references for
groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "altered soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="0ae96ab0-44b6-49e0-a387-96e7e7c9830a"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="588846f0-6890-4b9e-80a5-783d8982be33"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
+ <nmwg:metadata id="authNMetadata">
+ <nmwg:parameters id="keys">
+ <nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
+
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="1fdd36d8-3e08-45d6-affc-79d7600bdfa8"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="5025f1fc-d632-4d18-9f7e-9555f363a24e"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+&lt;items>
+{
+ for $z in
//soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType/text()
+ order by $z
+ return &lt;id>{data($z)}&lt;/id>
+}
+&lt;/items></path><content>&lt;items>
+&lt;id>error.authn.wssec&lt;/id>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="b11e31a2-b3b2-4e98-94a0-28b50c396395"><con:settings/><con:config><script><![CDATA[
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// get request soap message (groovy)
+
+// get request property
+def test_case = testRunner.testCase.getTestStepByName( "AuthNEE" );
+//log.info("a $test_case")
+def request_groovy = test_case.getProperty( "request" );
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+factory.setNamespaceAware(true);
+DocumentBuilder builder = factory.newDocumentBuilder();
+InputStream is = new ByteArrayInputStream(request_groovy.value.getBytes());
+request = builder.parse(is);
+
+org.w3c.dom.NodeList nodeList1 =
request.getElementsByTagName("soapenv:Header");
+Node soap_header = nodeList1.item(0);
+log.info("debug:"+soap_header);
+
+if (soap_header != null) {
+org.w3c.dom.NodeList nodeList2 =
soap_header.getElementsByTagName("wsse:Security");
+Node wsse_node = nodeList2.item(0);
+log.info("debug:"+wsse_node);
+ if (wsse_node != null) {
+ soap_header.removeChild(wsse_node);
+}
+}
+
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// soap message -> xml formatted string (java + some groovy)
+
+def StringWriter outWriter = new java.io.StringWriter();
+XMLUtils.ElementToWriter(request.getDocumentElement(), outWriter);
+outWriter.close();
+
+log.info( "unsigned soap message='"+outWriter.toString()+"'" )
+
+//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+// replace request soap message (groovy)
+
+request_groovy.setValue( outWriter.toString() )
+
+//
+
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Normal AuthNEE SAML Assertion" searchProperties="true"
id="bca8335f-c4a5-45fe-bfd2-3888aa609222"><con:settings/><con:testStep
type="groovy" name="AddSAMLAssertionToRequestMessage"
id="5c366257-573f-4715-adc6-2fab0434de4f"><con:settings/><con:config><script><![CDATA[
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.utils.XMLUtils;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
import java.io.FileInputStream;

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
@@ -1546,8 +2703,13 @@
DocumentBuilder builder1 = factory.newDocumentBuilder();
String saml_assertion_auth_xml_filename="/cert/saml-auth-template.xml";
FileInputStream is1 = new FileInputStream(saml_assertion_auth_xml_filename);
+
+log.info("debug1");
+
Document saml_assertion_auth_xml = builder1.parse(is1);

+log.info("debug2");
+
org.w3c.dom.NodeList nodeList01 =
saml_assertion_auth_xml.getElementsByTagName("soapenv:Header");
Node soap_header0 = nodeList01.item(0);
log.info("debug:"+soap_header0);
@@ -1612,14 +2774,14 @@
request_groovy.setValue( outWriter.toString() )

//
-]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="6ad2f047-2f27-4d76-bceb-27f103e8e54f"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="f6688f1f-8192-4244-ac1c-d8ad9c9b6491"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="1aa610f5-8cd5-4d0d-bf8a-37688a216c7a"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="455b933f-2bc8-4e68-a9fb-38557eaa1775"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1630,7 +2792,7 @@
}
&lt;/items></path><content>&lt;items>
&lt;id>success.as.authn&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnsignRequestMessage"><con:settings/><con:config><script><![CDATA[
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="b3f6b49c-44a4-4c9a-84b1-ca3abc8a02b0"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -1688,7 +2850,7 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE SAML Assertion" searchProperties="true"
id="db763283-0201-4dc1-8896-f090fa0ca4d7"><con:settings/><con:testStep
type="groovy"
name="AddSAMLAssertionToRequestMessage"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Faulty AuthNEE SAML Assertion" searchProperties="true"
id="db763283-0201-4dc1-8896-f090fa0ca4d7"><con:settings/><con:testStep
type="groovy" name="AddSAMLAssertionToRequestMessage"
id="6c422e1b-a40d-42e3-bf8f-a08d31424fde"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -1781,7 +2943,7 @@
request_groovy.setValue( outWriter.toString() )

//
-]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityTokenSAMLAssertion"><con:settings/><con:config><script><![CDATA[
+]]></script></con:config></con:testStep><con:testStep type="groovy"
name="AlterSecurityTokenSAMLAssertion"
id="f3d4dccb-c13c-4c3a-b1a7-b08b9317dd9e"><con:settings/><con:config><script><![CDATA[
// unknown how to alter the SAML assertion part
// as the SAML assertion never succeeds
// so finding out which XML part to alter
@@ -1853,14 +3015,14 @@
//

//
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+]]></script></con:config></con:testStep><con:testStep type="delay"
name="DelayBecauseOfTimestampProblem"
id="4032732d-bf68-4ad7-a3d4-6e7496ecbe65"><con:settings/><con:config><delay>1000</delay></con:config></con:testStep><con:testStep
type="request" name="AuthNEE"
id="6096575f-d6d3-4faa-9fda-0f89b0bde39b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>AuthNEEBinding</con:interface><con:operation>AuthNEE</con:operation><con:request

name="AuthNEE"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://mdm-4.par.fr.geant2.net:8080/geant2_java-as/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Header/><soapenv:Body><nmwg:message
id="authNMessage1" type="AuthNEERequest" xmlns:nmwg="http://ggf.org/ns/n
mwg/base/2.0/">
<nmwg:metadata id="authNMetadata">
<nmwg:parameters id="keys">
<nmwg:parameter
name="SecurityToken">http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="authN1" metadataIdRef="authNMetadata"/>
-
</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance"
disabled="true"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace
soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+</nmwg:message></soapenv:Body></soapenv:Envelope>]]></con:request><con:assertion
type="Schema Compliance" disabled="true"
id="cb8b53b2-ac84-440f-a0d6-741a9910fd94"><con:configuration><definition/></con:configuration></con:assertion><con:assertion
type="XQuery Match"
id="ff604576-a8f8-40f1-a30a-53a9d59880df"><con:configuration><path>declare
namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';

&lt;items>
@@ -1870,8 +3032,8 @@
return &lt;id>{data($z)}&lt;/id>
}
&lt;/items></path><content>&lt;items>
-&lt;id>unknown&lt;/id>
-&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy"
name="UnsignRequestMessage"><con:settings/><con:config><script><![CDATA[
+&lt;id>error.authn.wssec&lt;/id>
+&lt;/items></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="groovy" name="UnsignRequestMessage"
id="6b532c9e-001d-414d-a7e8-f479f1056f6c"><con:settings/><con:config><script><![CDATA[
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

@@ -1929,7 +3091,7 @@

//

-]]></script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="EchoRequest for
AS"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and well formed requests" searchProperties="true"
id="a193e98c-b28d-4ead-9a22-2f450e0e081c"><con:settings/><con:testStep
type="request" name="Echo"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request

name="Echo"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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/";>
+]]></script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="EchoRequest for AS"
id="c8ce7572-b4f5-4889-abc9-a5f0abfb1944"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Valid and well formed requests" searchProperties="true"
id="a193e98c-b28d-4ead-9a22-2f450e0e081c"><con:settings/><con:testStep
type="request" name="Echo"
id="4f6ce581-7f89-47da-bd29-6f729b609c1a"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request

name="Echo"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:ns="http://g
gf.org/ns/nmwg/base/2.0/">
<soapenv:Header/>
<soapenv:Body>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest">
@@ -1939,7 +3101,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="a22cf793-7df1-4e1a-a7b6-8f7adbc2c925"/><con:assertion type="SOAP Fault
Assertion" id="97fa7db5-8fe9-40e9-8909-3ef0456c8ba4"/><con:assertion
type="XPath Match"
id="2ccdcd64-a855-400e-bccb-8bc3712729d3"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -1948,7 +3110,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="success.echo")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="2026194b-cc97-4bf3-9e87-0afa599e51f4"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -1976,7 +3138,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed Requests" searchProperties="true"
id="c2f56086-3435-4aa2-afc3-e18c98fa650b"><con:settings/><con:testStep
type="request" name="Echo No type attribute in message
element"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo No type attribute in message
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false"
name="Malformed Requests" searchProperties="true"
id="c2f56086-3435-4aa2-afc3-e18c98fa650b"><con:settings/><con:testStep
type="request" name="Echo No type attribute in message element"
id="0a01e0bc-fae1-4ddf-80f1-9069cb34769f"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo No type attribute in message
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" >
@@ -1986,7 +3148,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="191ececa-1a99-4a5c-82d1-c29c62f0e8cf"/><con:assertion type="SOAP Fault
Assertion" id="92f09faf-8cf4-49bd-a627-9afe461784f3"/><con:assertion
type="XPath Match"
id="f86531e9-33b7-4fd7-b23f-e189bd4cf0ef"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -1995,7 +3157,7 @@
and

(fn:string(//nmwg:metadata/nmwg:eventType)="error.common.action_not_supported")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="246d9576-0708-4d6a-8c6c-abda3b5c87be"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2015,7 +3177,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo empty type attribute in message
element"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo empty type attribute in message
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo empty type attribute in message element"
id="ef8f0b0f-0350-4340-906e-277e3ecbe98f"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo empty type attribute in message
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="" >
@@ -2025,7 +3187,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="704012aa-0a35-41dd-9859-ef89c6f00b77"/><con:assertion type="SOAP Fault
Assertion" id="60f8ed26-5206-46da-af23-d75cbdbb52a8"/><con:assertion
type="XPath Match"
id="9de9e55b-02a0-4fab-84ec-35a27b842925"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2034,7 +3196,7 @@
and

(fn:string(//nmwg:metadata/nmwg:eventType)="error.common.action_not_supported")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="62ec0e67-f7ff-4690-9d85-b2cff9863de7"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2054,7 +3216,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name=" Echo wrong type attribute in message
element"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name=" Echo wrong type attribute in message
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name=" Echo wrong type attribute in message element"
id="5128e88b-a18b-466c-8682-4b9d2c5d587e"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name=" Echo wrong type attribute in message
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="Request" >
@@ -2064,7 +3226,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="623289b4-af34-4706-ac34-9ce97a1e7626"/><con:assertion type="SOAP Fault
Assertion" id="cdfa88ca-46ef-4bb5-ac9c-85eed821f2a1"/><con:assertion
type="XPath Match"
id="8eab6be4-f6ff-42c1-b3c7-3f66c1593e0c"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2073,7 +3235,7 @@
and

(fn:string(//nmwg:metadata/nmwg:eventType)="error.common.action_not_supported")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="cf0c69e5-ace1-4962-ac39-28155d48086e"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2093,14 +3255,14 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no metadata"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no metadata"
id="85104e2f-711a-409c-b20a-4b12ef06fe5f"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="eb025560-371a-4dd0-a215-986e09c1a23b"/><con:assertion type="SOAP Fault
Assertion" id="21e98a6e-c0ab-4264-8779-8a784c48617b"/><con:assertion
type="XPath Match"
id="7d1f0b5a-29f6-4e15-8629-f53cee622b8a"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2109,7 +3271,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="warning.common.no_metadata")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="6e1972e8-8376-4f64-8f2e-2c0ce7626f4c"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2129,7 +3291,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no data"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no
data"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no data"
id="ea2d886b-0c8b-4dba-92b0-65f21dc4a057"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no
data"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
@@ -2138,7 +3300,7 @@
</ns:metadata>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="524dd6cb-e971-4357-9e50-961df2e72375"/><con:assertion type="SOAP Fault
Assertion" id="1079e768-daa3-4d25-a1aa-a7b308baf60e"/><con:assertion
type="XPath Match"
id="b74fe6c4-4bb8-4045-9c2b-cac363882897"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2147,7 +3309,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="warning.common.no_metadata")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="353d7176-af6d-4f18-acb1-42a475d40802"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2167,7 +3329,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no id in metadata"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no id in
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no id in metadata"
id="9b93654e-8f13-4d69-85cb-042a9e1e9071"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no id in
metadata"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
@@ -2177,7 +3339,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="53041d7c-51a9-4815-8c43-c53a352547a9"/><con:assertion type="SOAP Fault
Assertion" id="1f7b51e5-99ea-45bb-94b1-0808a0942742"/><con:assertion
type="XPath Match"
id="39999fb1-f6f9-459f-8a9a-e8bc8efc5edb"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2186,7 +3348,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="warning.common.no_metadata")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="9f4f9235-3304-4d46-876b-89696c05466f"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2206,7 +3368,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no eventType element"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no eventType
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo no eventType element"
id="a221dd2f-4758-4327-80da-0181afe28b4d"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo no eventType
element"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
@@ -2215,7 +3377,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="7589dfba-6071-4171-8ced-0b3909dd28e5"/><con:assertion type="SOAP Fault
Assertion" id="185346d7-6dbb-4ed3-b264-b91dafc20c01"/><con:assertion
type="XPath Match"
id="fdab05e2-c8a7-4e0a-982b-e28739ab802b"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2224,7 +3386,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="error.request")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="61b32b55-21a2-4cb3-90b9-e5fd0c364c04"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2244,7 +3406,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo wrong eventType"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo wrong
eventType"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo wrong eventType"
id="1cc1ffe6-3903-4cf0-98a8-fd1f73b546dc"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo wrong
eventType"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
@@ -2254,7 +3416,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="d7a23cc7-054d-455e-82b5-42654c467c40"/><con:assertion type="SOAP Fault
Assertion" id="dadd28e5-cec2-4160-92ae-9b90e141f67c"/><con:assertion
type="XPath Match"
id="db42ccd7-0609-4716-9d26-3f844d268e85"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2263,7 +3425,7 @@
and

(fn:string(//nmwg:metadata/nmwg:eventType)="error.common.action_not_supported")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="3aaeabbc-8ac2-423b-9d6f-6c04d47cb48e"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2283,7 +3445,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo metadata id does not match data
metadataIdRef"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo metadata id does not match data
metadataIdRef"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo metadata id does not match data metadataIdRef"
id="63675132-8c5d-4dfe-8093-e8d5fef68dcd"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo metadata id does not match data
metadataIdRef"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</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>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
@@ -2293,7 +3455,7 @@
<ns:data id="data1" metadataIdRef="nometa1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="1aa4f3fe-bbfb-44b1-9c6b-cec7b20e3d2f"/><con:assertion type="SOAP Fault
Assertion" id="6e3d08f2-10c7-45e1-aea0-552f90235b41"/><con:assertion
type="XPath Match"
id="66ccd0a3-e482-4f01-a462-978ed6bbb66f"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2302,7 +3464,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="warning.common.no_metadata")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="54d110ac-08dd-4cd9-90f4-92ca91c0d6f2"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;
@@ -2322,7 +3484,7 @@
def validator = schema.newValidator();
def node = holder.getDomNode("//nmwg:message")
validator.validate(new DOMSource(node));
-</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo wrong nmwg namespace"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo wrong nmwg
namespace"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/wrongnmwg/base/2.0/";>
+</scriptText></con:configuration></con:assertion><con:wssConfig/></con:request></con:config></con:testStep><con:testStep
type="request" name="Echo wrong nmwg namespace"
id="dc045e19-3980-4fa1-b1b0-6b7667297b99"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>EchoRequest</con:interface><con:operation>Echo</con:operation><con:request
name="Echo wrong nmwg
namespace"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://homer.rediris.es:8080/perfSONAR-AS/services/AuthService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://ggf.org/ns/wrongnmwg/base/2.0/";>
<soapenv:Header/>
<soapenv:Body>
<ns:message id="msg1" messageIdRef="id1" type="EchoRequest" >
@@ -2332,7 +3494,7 @@
<ns:data id="data1" metadataIdRef="meta1"/>
</ns:message>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP
Response"/><con:assertion type="SOAP Fault Assertion"/><con:assertion
type="XPath Match"><con:configuration><path>declare namespace
nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="58e6e1ed-c3ed-4091-a1b3-1d6ae07be4b9"/><con:assertion type="SOAP Fault
Assertion" id="46362b5b-a2f4-4e8f-9db3-1a961b9c46ae"/><con:assertion
type="XPath Match"
id="fde6b508-158b-4aa1-be87-7233d2c40242"><con:configuration><path>declare
namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
declare namespace fn="http://www.w3.org/2005/xpath-functions";;
@@ -2341,7 +3503,7 @@
and
(fn:string(//nmwg:metadata/nmwg:eventType)="error.common.parse_error")
and
-(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"><con:configuration><scriptText>import
java.io.File;
+(count(//nmwg:data/nmwgr:datum)=1)</path><content>true</content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion"
id="f710f847-ef72-4d28-8dee-98813c2328d3"><con:configuration><scriptText>import
java.io.File;
import java.io.OutputStream;
import java.io.StringWriter;
import javax.xml.transform.*;



  • perfsonar: r3678 - trunk/functional-testing/aa-test, svnlog, 04/15/2008

Archive powered by MHonArc 2.6.16.

Top of Page