]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-5498: Added first (failing) test for automatically soft deleting the relevant...
authorAron Roberts <aron@socrates.berkeley.edu>
Tue, 20 Nov 2012 01:35:27 +0000 (17:35 -0800)
committerAron Roberts <aron@socrates.berkeley.edu>
Tue, 20 Nov 2012 01:35:27 +0000 (17:35 -0800)
services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/relation.xml
services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/res/relationsList.res.xml [new file with mode: 0644]
services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/res/workflowState.res.xml [new file with mode: 0644]

index b085b325126b6a2a469531d2d2707b9046b335db..5f04524a313ca6187748500104f86ca02160a09f 100644 (file)
              <uri>/cspace-services/relations/</uri>\r
          </test>\r
     </testGroup>\r
+    \r
+    <!-- Test whether a relation is automatically soft deleted -->\r
+    <!-- when a subject of the relation is deleted --> \r
+    <testGroup ID="cascadeDeleteRelationsOnSubjectDelete" autoDeletePOSTS="true">\r
+         <test ID="createSubject">\r
+             <method>POST</method>\r
+             <uri>/cspace-services/objectexit/</uri>\r
+             <filename>relation/oe1.xml</filename>\r
+             <expectedCodes>201</expectedCodes>\r
+         </test>\r
+         <test ID="createObject">\r
+             <method>POST</method>\r
+             <uri>/cspace-services/objectexit/</uri>\r
+             <filename>relation/oe1.xml</filename>\r
+             <expectedCodes>201</expectedCodes>\r
+         </test>\r
+         <test ID="createRelation">\r
+             <method>POST</method>\r
+             <uri>/cspace-services/relations</uri>\r
+             <filename>relation/r-1.xml</filename>\r
+             <vars>\r
+                <var ID="subjectCsid">${createSubject.CSID}</var>\r
+                <var ID="objectCsid">${createObject.CSID}</var>\r
+                <var ID="subjectDocumentType">objectexit</var>\r
+                <var ID="objectDocumentType">objectexit</var>\r
+                <var ID="relationshipType">affects</var>\r
+             </vars>\r
+             <expectedCodes>201</expectedCodes>\r
+         </test>\r
+         <test ID="getRelationWorkflowStateBeforeDelete">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations/${createRelation.CSID}/workflow</uri>\r
+             <expectedCodes>200</expectedCodes>\r
+             <response>\r
+                <expected level="ADDOK" />\r
+                <filename>relation/res/workflowState.res.xml</filename>\r
+                <vars>\r
+                    <var ID="workflowState">project</var>\r
+                </vars>\r
+             </response>\r
+         </test>\r
+         <test ID="getRelationListBeforeDelete">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations?sbj=${createSubject.CSID}&amp;wf_deleted=false</uri>\r
+             <expectedCodes>200</expectedCodes>\r
+             <response>\r
+                <expected level="ADDOK" />\r
+                <filename>relation/res/relationsList.res.xml</filename>\r
+                <vars>\r
+                    <var ID="totalItemsValue">1</var>\r
+                </vars>\r
+             </response>\r
+         </test>\r
+         <test ID="softDeleteSubject">\r
+             <method>PUT</method>\r
+             <uri>/cspace-services/objectexit/${createSubject.CSID}/workflow/delete</uri>\r
+             <expectedCodes>200</expectedCodes>\r
+             <!-- XmlReplay appears to require a filename on PUT. -->\r
+             <!-- If not present, throws "java.io.FileNotFoundException: File '' does not exist" -->\r
+             <!-- The contents of that file, sent in the PUT payload, will be ignored by the services. -->\r
+             <filename>relation/res/workflowState.res.xml</filename>\r
+         </test>\r
+         <test ID="verifySubjectIsSoftDeleted">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/objectexit/${createSubject.CSID}/workflow</uri>\r
+             <expectedCodes>200</expectedCodes>\r
+             <response>\r
+                <expected level="ADDOK" />\r
+                <filename>relation/res/workflowState.res.xml</filename>\r
+                <vars>\r
+                    <var ID="workflowState">deleted</var>\r
+                </vars>\r
+             </response>\r
+         </test>\r
+         <test ID="verifyRelationIsSoftDeleted">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations/${createRelation.CSID}/workflow</uri>\r
+             <expectedCodes>200</expectedCodes>\r
+             <response>\r
+                <expected level="ADDOK" />\r
+                <filename>relation/res/workflowState.res.xml</filename>\r
+                <vars>\r
+                    <var ID="workflowState">deleted</var>\r
+                </vars>\r
+             </response>\r
+         </test>\r
+         <!--\r
+         <test ID="verifySoftDeletedRelationIsFiltered">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations/${createRelation.CSID}?wf_deleted=false</uri>\r
+             <expectedCodes>404</expectedCodes>\r
+         </test>\r
+         -->\r
+         <test ID="getRelationListAfterDelete">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations?sbj=${createSubject.CSID}&amp;wf_deleted=false</uri>\r
+             <expectedCodes>200</expectedCodes>\r
+             <response>\r
+                <expected level="ADDOK" />\r
+                <filename>relation/res/relationsList.res.xml</filename>\r
+                <vars>\r
+                    <var ID="totalItemsValue">0</var>\r
+                </vars>\r
+             </response>\r
+         </test>\r
+    </testGroup>\r
+    \r
+    <!-- Test whether a relation is automatically soft deleted -->\r
+    <!-- when an object of the relation is deleted --> \r
+    <!--\r
+    <testGroup ID="cascadeDeleteRelationsOnObjectDelete" autoDeletePOSTS="true">\r
+         <test ID="createSubject">\r
+             <method>POST</method>\r
+             <uri>/cspace-services/objectexit/</uri>\r
+             <filename>relation/sbj.xml</filename>\r
+         </test>\r
+         <test ID="createObject">\r
+             <method>POST</method>\r
+             <uri>/cspace-services/objectexit/</uri>\r
+             <filename>relation/obj.xml</filename>\r
+         </test>\r
+         <test ID="createRelation">\r
+             <method>POST</method>\r
+             <uri>/cspace-services/relations</uri>\r
+             <filename>relation/sbj.xml</filename>\r
+         </test>\r
+         <test ID="getRelationBeforeDelete">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations?sbj=${</uri>\r
+         </test>\r
+         <test ID="softDeleteSubject">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations?sbj=${</uri>\r
+         </test>\r
+         <test ID="verifySubjectIsSoftDeleted">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations?sbj=${</uri>\r
+         </test>\r
+         <test ID="verifyRelationIsSoftDeleted">\r
+             <method>GET</method>\r
+             <uri>/cspace-services/relations?sbj=${</uri>\r
+         </test>\r
+    </testGroup>\r
+    -->\r
          \r
 </xmlReplay>\r
         \r
diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/res/relationsList.res.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/res/relationsList.res.xml
new file mode 100644 (file)
index 0000000..420111b
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns3:relations-common-list xmlns:ns3="http://collectionspace.org/services/relation" xmlns:ns2="http://collectionspace.org/services/jaxb">
+    <totalItems>${totalItemsValue}</totalItems>
+</ns3:relations-common-list>
+
diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/res/workflowState.res.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/relation/res/workflowState.res.xml
new file mode 100644 (file)
index 0000000..7182973
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<document name="workflow">\r
+    <ns2:workflow_common xmlns:ns2="http://collectionspace.org/services/workflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
+        <lifeCyclePolicy>cs_default</lifeCyclePolicy>\r
+        <currentLifeCycleState>${workflowState}</currentLifeCycleState>\r
+    </ns2:workflow_common>\r
+</document>
\ No newline at end of file