You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2004/11/16 15:26:20 UTC
cvs commit: jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions twoTxns.xml txnDeleteAbort.xml txnDeleteCommit.xml txnMkcolAbort.xml txnMkcolCommit.xml txnMoveAbort.xml txnMoveCommit.xml txnMoveOverwriteAbort.xml
luetzkendorf 2004/11/16 06:26:20
Added: testsuite/testsuite/junit/xmltestcases/functional/lock/transactions
twoTxns.xml txnDeleteAbort.xml txnDeleteCommit.xml
txnMkcolAbort.xml txnMkcolCommit.xml
txnMoveAbort.xml txnMoveCommit.xml
txnMoveOverwriteAbort.xml
Log:
some transaction testcases
Revision Changes Path
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/twoTxns.xml
Index: twoTxns.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests two collections (with the same lock path)</abstract>
<description>
</description>
<expectedResult></expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId1" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId2" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection1 HTTP/1.1</command>
<header varUsage="txnId1"><![CDATA[Transaction: <%txnId1%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection2 HTTP/1.1</command>
<header varUsage="txnId2"><![CDATA[Transaction: <%txnId2%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId1">Lock-Token: %txnId1%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:abort/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId2">Lock-Token: %txnId2%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:abort/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnDeleteAbort.xml
Index: txnDeleteAbort.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests DELETE in external transaction that is aborted</abstract>
<description>
mkcol
put a file inside this collection
lock (begin txn)
delete
get file (should 404)
unlock (commit)
delete (test that the collection DOES exists after commit)
</description>
<expectedResult>collection should exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PUT %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:abort/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnDeleteCommit.xml
Index: txnDeleteCommit.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests DELETE in external transaction that is commited</abstract>
<description>
mkcol
put a file inside this collection
lock (begin txn)
delete
propfind file (should 404)
unlock (commit)
delete (test that the collection does NOT exists after commit)
</description>
<expectedResult>collection should NOT exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PUT %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:commit/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnMkcolAbort.xml
Index: txnMkcolAbort.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests MKCOL in external transaction that is commited</abstract>
<description>
lock (begin txn)
mkcol
propfind
unlock (abort)
delete (should 404)
</description>
<expectedResult>collection should not exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PROPFIND %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header>Content-Type: text/xml</header>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<header>Depth: 1</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
<prop><resourcetype/></prop>
</propfind>
]]></body>
</request>
<response>
<command>HTTP/1.0 207 Multi-Status</command>
<body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<multistatus xmlns="DAV:" xmlns:S="http://jakarta.apache.org/slide/">
<response>
<href>%globalVariableServerName%/%globalVariableCollection%/collection</href>
<propstat>
<prop><resourcetype><collection/></resourcetype></prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:abort/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnMkcolCommit.xml
Index: txnMkcolCommit.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests MKCOL in external transaction that is commited</abstract>
<description>
lock (begin txn)
mkcol
propfind
unlock (commit)
delete (test that the file exists after commit)
</description>
<expectedResult>collection should exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PROPFIND %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header>Content-Type: text/xml</header>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<header>Depth: 1</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
<prop><resourcetype/></prop>
</propfind>
]]></body>
</request>
<response>
<command>HTTP/1.0 207 Multi-Status</command>
<body varUsage="globalVariableCollection,globalVariableServerName"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<multistatus xmlns="DAV:" xmlns:S="http://jakarta.apache.org/slide/">
<response>
<href>%globalVariableServerName%/%globalVariableCollection%/collection</href>
<propstat>
<prop><resourcetype><collection/></resourcetype></prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:commit/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnMoveAbort.xml
Index: txnMoveAbort.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests MOVE in external transaction that is aborted</abstract>
<description>
mkcol
put a file inside this collection
lock (begin txn)
move
propfind moved file
unlock (abort)
delete (test that the old collection does exists after commit)
delete (test that the new collection does NOT exists after commit)
</description>
<expectedResult>collection should NOT exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PUT %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MOVE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<header varUsage="globalVariableCollection,globalVariableServerName">Destination: %globalVariableServerName%/%globalVariableCollection%/collection_moved</header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection_moved/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:abort/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection_moved HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnMoveCommit.xml
Index: txnMoveCommit.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests MOVE in external transaction that is commited</abstract>
<description>
mkcol
put a file inside this collection
lock (begin txn)
move
propfind moved file
unlock (commit)
delete (test that the old collection does NOT exists after commit)
delete (test that the new collection does exists after commit)
</description>
<expectedResult>collection should NOT exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PUT %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MOVE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<header varUsage="globalVariableCollection,globalVariableServerName">Destination: %globalVariableServerName%/%globalVariableCollection%/collection_moved</header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection_moved/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 200 Ok</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:commit/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection_moved/file.html HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection_moved HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
</test>
1.1 jakarta-slide/testsuite/testsuite/junit/xmltestcases/functional/lock/transactions/txnMoveOverwriteAbort.xml
Index: txnMoveOverwriteAbort.xml
===================================================================
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "../../../../Tprocessor.dtd">
<test>
<specification>
<abstract>tests MOVE (overwriting) in external transaction that is aborted</abstract>
<description>
mkcol
put a file inside this collection
mkcol (collection to be overwritten)
put a file inside this collection
lock (begin txn)
move
propfind moved file
unlock (abort)
delete (test that the old collection does exists after commit)
delete (test that the new collection does NOT exists after commit)
</description>
<expectedResult>collection should NOT exist after transaction</expectedResult>
</specification>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PUT %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MKCOL %globalVariableServerName%/%globalVariableCollection%/collection2 HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">PUT %globalVariableServerName%/%globalVariableCollection%/collection2/file2.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</request>
<response>
<command>HTTP/1.0 201 Created</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">LOCK %globalVariableServerName%/%globalVariableCollection%/ HTTP/1.1</command>
<header>Timeout: Second-120</header>
<header>Content-Type: text/xml</header>
<body><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<A:lockinfo xmlns:A="DAV:">
<A:locktype><A:transaction/></A:locktype>
<A:locktype><A:transaction><A:groupoperation/></A:transaction></A:locktype>
<A:lockscope><A:local/></A:lockscope>
<A:owner>some owner</A:owner>
</A:lockinfo>
]]></body>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body varUsage="globalVariableUserPath,globalVariableServerName,user,host"
varDefinition="txnId" varPath="prop/lockdiscovery/activelock/locktoken/href">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<d:prop xmlns:d="DAV:">
<d:lockdiscovery>
<d:activelock>
<d:locktype><d:transaction><d:groupoperation/></d:transaction></d:locktype>
<d:lockscope><d:local/></d:lockscope>
<d:depth>0</d:depth>
<d:timeout>Second-120</d:timeout>
<d:locktoken><d:href/></d:locktoken>
<d:principal-URL><d:href>%globalVariableUserPath%</d:href></d:principal-URL>
<d:owner>some owner</d:owner>
</d:activelock>
</d:lockdiscovery>
</d:prop>
]]></body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">MOVE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
<header varUsage="globalVariableCollection,globalVariableServerName">Destination: %globalVariableServerName%/%globalVariableCollection%/collection2</header>
<header>Overwrite: T</header>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 404 Not Found</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection2/file.html HTTP/1.1</command>
<header varUsage="txnId"><![CDATA[Transaction: <%txnId%>]]></header>
</request>
<response>
<command>HTTP/1.0 200 OK</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">UNLOCK %globalVariableServerName%/%globalVariableCollection% HTTP/1.1</command>
<header varUsage="txnId">Lock-Token: %txnId%</header>
<body><![CDATA[<?xml version="1.0"?>
<d:transactioninfo xmlns:d="DAV:">
<d:transactionstatus><d:abort/></d:transactionstatus>
</d:transactioninfo>
]]>
</body>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection/file.html HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 200 Ok</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">GET %globalVariableServerName%/%globalVariableCollection%/collection2/file2.html HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 200 Ok</command>
<body>ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ</body>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
<step>
<request>
<command varUsage="globalVariableCollection,globalVariableServerName">DELETE %globalVariableServerName%/%globalVariableCollection%/collection2 HTTP/1.1</command>
</request>
<response>
<command>HTTP/1.0 204 No Content</command>
</response>
</step>
</test>
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org