]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-5518: Create initial XmlReplay-based test for structured objects, starting...
authorAron Roberts <aron@socrates.berkeley.edu>
Thu, 6 Sep 2012 21:31:17 +0000 (14:31 -0700)
committerAron Roberts <aron@socrates.berkeley.edu>
Thu, 6 Sep 2012 21:31:17 +0000 (14:31 -0700)
services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/collectionobject-hierarchy.xml [new file with mode: 0644]
services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/hierarchy/1-collectionobject.xml [new file with mode: 0644]
services/IntegrationTests/src/test/resources/test-data/xmlreplay/dev-master.xml [new file with mode: 0644]

diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/collectionobject-hierarchy.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/collectionobject-hierarchy.xml
new file mode 100644 (file)
index 0000000..f81fde1
--- /dev/null
@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmlReplay>
+    <testGroup ID="HierarchicCollectionObject" autoDeletePOSTS="true">
+        
+        <!-- Chess set box -->
+        <!-- (parent of chess board, bags of white and black chess pieces -->
+        <test ID="CreateChessSetBox" auth="admin@core.collectionspace.org">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-ChessSetBox</var>
+            </vars>
+        </test>
+        <test ID="ReadChessSetBox" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateChessSetBox.CSID}</uri>
+        </test>
+        
+        <!-- Chess board -->
+        <!-- (child of chess set box, sibling of bags of white and black chess pieces) -->
+        <test ID="CreateChessBoard" auth="admin@core.collectionspace.org">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-ChessBoard</var>
+            </vars>
+        </test>
+        <test ID="ReadChessBoard" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateChessBoard.CSID}</uri>
+        </test>
+        
+        <!-- Bags of white and black chess pieces -->
+        <!-- (child of chess set box, sibling of chess board, parents of chess pieces) -->
+        <test ID="CreateBagOfWhiteChessPieces">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-BagOfWhiteChessPieces</var>
+            </vars>
+        </test>
+        <test ID="ReadBagOfWhiteChessPieces" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateBagOfWhiteChessPieces.CSID}</uri>
+        </test>
+        <test ID="CreateBagOfBlackChessPieces">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-BagOfBlackChessPieces</var>
+            </vars>
+        </test>
+        <test ID="ReadBagOfBlackChessPieces" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateBagOfBlackChessPieces.CSID}</uri>
+        </test>
+        
+        <!-- Individual chess pieces in those bags -->
+        <test ID="CreateWhiteRook">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-WhiteRook</var>
+            </vars>
+        </test>
+        <test ID="ReadWhiteRook" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateWhiteRook.CSID}</uri>
+        </test>
+        <test ID="CreateWhiteBishop">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-WhiteBishop</var>
+            </vars>
+        </test>
+        <test ID="ReadWhiteBishop" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateWhiteBishop.CSID}</uri>
+        </test>
+       <test ID="CreateBlackQueen">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-BlackQueen</var>
+            </vars>
+        </test>
+        <test ID="ReadBlackQueen" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateBlackQueen.CSID}</uri>
+        </test>  
+        <test ID="CreateBlackRook">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects</uri>
+            <filename>collectionobject/hierarchy/1-collectionobject.xml</filename>
+            <vars>
+                <var ID="objectNumber">CSPACE-5518-BlackRook</var>
+            </vars>
+        </test>
+        <test ID="ReadBlackRook" auth="admin@core.collectionspace.org">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${CreateBlackRook.CSID}</uri>
+        </test>           
+        
+        <!-- Cleanup-->
+        <test ID="DeleteBlackRook" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateBlackRook.CSID}</uri>
+        </test>
+        <test ID="DeleteBlackQueen" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateBlackQueen.CSID}</uri>
+        </test>
+        <test ID="DeleteWhiteBishop" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateWhiteBishop.CSID}</uri>
+        </test>
+        <test ID="DeleteWhiteRook" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateWhiteRook.CSID}</uri>
+        </test>
+        <test ID="DeleteBagOfBlackChessPieces" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateBagOfBlackChessPieces.CSID}</uri>
+        </test>
+        <test ID="DeleteBagOfWhiteChessPieces" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateBagOfWhiteChessPieces.CSID}</uri>
+        </test>
+        <test ID="DeleteChessBoard" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateChessBoard.CSID}</uri>
+        </test>
+        <test ID="DeleteChessSetBox" auth="admin@core.collectionspace.org">
+            <method>DELETE</method>
+            <uri>/cspace-services/collectionobjects/${CreateChessSetBox.CSID}</uri>
+        </test>
+        
+        
+        
+        <!--
+        <test ID="LocationChild3">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects/${LocationAuth1.CSID}/items/</uri>
+            <filename>collectionobject/hierarchy/2-item.xml</filename>
+            <vars>
+                <var ID="inAuthority">${LocationAuth1.CSID}</var>
+                <var ID="authShortIdentifier">CSPACE3739LocationAuthority</var>
+                <var ID="shortIdentifier">Shelf3</var>
+                <var ID="name">Shelf 3</var>
+            </vars>
+        </test>
+        
+        <test ID="LocationParent">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects/urn:cspace:name(CSPACE3739LocationAuthority)/items/</uri>
+            <filename>collectionobject/hierarchy/2-item.xml</filename>
+            <vars>
+                <var ID="inAuthority">${LocationAuth1.CSID}</var>
+                <var ID="authShortIdentifier">CSPACE3739LocationAuthority</var>
+                <var ID="shortIdentifier">Aisle3</var>
+                <var ID="name">Aisle 3</var>
+            </vars>
+        </test>
+
+                <test ID="Location1_old">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects/urn:cspace:name(CSPACE3739LocationAuthority)/items/</uri>
+            <filename>collectionobject/hierarchy/3-locations_w_relations_CSID.xml</filename>
+            <vars>
+                            <var ID="name">Cabinet 1</var>
+                <var ID="parentCSID">${LocationParent.CSID}</var>
+                <var ID="childCSID">${LocationChild1.CSID}</var>
+                <var ID="child2CSID">${LocationChild2.CSID}</var>
+                <var ID="child3CSID">${LocationChild3.CSID}</var>
+            </vars>
+        </test>
+        
+        <test ID="Location1">
+            <method>POST</method>
+            <uri>/cspace-services/collectionobjects/urn:cspace:name(CSPACE3739LocationAuthority)/items/</uri>
+            <filename>collectionobject/hierarchy/5-locations_w_relations_RefNames.xml</filename>
+            <vars>
+                <var ID="shortIdentifier">Cabinet1a</var>
+                            <var ID="name">Cabinet 1a</var>
+                <var ID="childCSID">${LocationChild1.CSID}</var>
+                <var ID="child2CSID">${LocationChild2.CSID}</var>
+                <var ID="child3CSID">${LocationChild3.CSID}</var>
+            </vars>
+        </test>
+        
+        <test ID="GetLocation">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${LocationAuth1.CSID}/items/${Location1.CSID}?showRelations=true</uri>
+        </test>
+        
+        -->
+        
+        <!-- NOTE: item  on url is .../items/${LocationChild1.CSID} so this looks for
+                   siblings of Child1, which would be child2 and child3.
+        -->
+        
+        <!--
+        <test ID="Get_siblings">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${LocationAuth1.CSID}/items/${LocationChild1.CSID}?showSiblings=true</uri>
+            <response>
+                <expected level="ADDOK" />
+                <filename>collectionobject/hierarchy/res/Get_siblings.res.xml</filename>
+                <vars>
+                    <var ID="locationCSID">${Location1.CSID}</var>
+                    <var ID="child1CSID">${LocationChild1.CSID}</var>
+                    <var ID="child2CSID">${LocationChild2.CSID}</var>
+                </vars>
+                <startElement>/document/*[local-name()='relations-common-list']</startElement>
+         </response>
+        </test>
+        -->
+        <!--
+        <test ID="Get_allRelations">
+            <method>GET</method>
+            <uri>/cspace-services/collectionobjects/${LocationAuth1.CSID}/items/${Location1.CSID}?showAllRelations=true</uri>
+            <response>
+                <expected level="ADDOK" />
+                <filename>collectionobject/hierarchy/res/Get_allRelations.res.xml</filename>
+        -->
+                <!-- NOTE: vars are referenced in showAllRelations.res.xml
+                     from tests in this test group, e.g. 
+                     LocationParent.CSID :: ${LocationParent.CSID} 
+                     These vars are all in the expression context while this group is active,
+                     because we hang onto all ServiceResult objects for the duration of the group,
+                     and ServiceObjects keep their vars.
+                -->
+         <!--
+
+                <startElement>/document/*[local-name()='relations-common-list']</startElement>
+             </response>
+             
+        </test>
+         -->
+         <!--
+         <test ID="relationsGET">
+             <method>GET</method>
+             <uri>/cspace-services/relations/</uri>
+         </test>
+         
+         <test ID="relations_sbj">
+             <method>GET</method>
+             <uri>/cspace-services/relations?sbj=${Location1.CSID}</uri>
+         </test>
+         
+        <test ID="relations_obj">
+            <method>GET</method>
+            <uri>/cspace-services/relations?obj=${Location1.CSID}</uri>
+        </test>
+        -->
+        
+    </testGroup>
+</xmlReplay>
diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/hierarchy/1-collectionobject.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/hierarchy/1-collectionobject.xml
new file mode 100644 (file)
index 0000000..02b95fd
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<document name="collectionobjects">
+
+  <ns2:collectionobjects_common
+    xmlns:ns2="http://collectionspace.org/services/collectionobject">
+    <objectNumber>${objectNumber}</objectNumber>
+  </ns2:collectionobjects_common>
+
+</document>
\ No newline at end of file
diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/dev-master.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/dev-master.xml
new file mode 100644 (file)
index 0000000..437b405
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<xmlReplayMaster>\r
+<!-- Use this file to drive local testing.  \r
+\r
+     To run this file, copy the checked-in file to your own local version of the correct name\r
+     in the same location.  If it is named dev-master.xml, then XmlReplayDevTest will pick it up.\r
+     If it is not there, XmlReplayDevTest will skip it, which is what we want for production, since \r
+     production runs XmlReplayMasterTest which calls xml-replay-master.xml\r
+     \r
+         cd trunk/services/IntegrationTests/src/test/resources/test-data/xmlreplay/\r
+         cp dev-master-example.xml dev-master.xml\r
+\r
+     IMPORTANT :: DO NOT CHECK IN YOUR LOCAL COPY, CALLED dev-master.xml\r
+                  EITHER LEAVE IT AROUND AND IGNORE THE SVN UNVERSIONED FILE MESSAGE, \r
+                    OR DELETE IT IF IT BOTHERS YOU.\r
+     \r
+     Then, to run this file, you can execute the following: \r
+     \r
+          cd trunk/services/IntegrationTests\r
+          mvn test -Dtest=XmlReplayDevTest\r
+\r
+     Maven surefire will kick off XmlReplayDevTest.\r
+     \r
+                  \r
+     This file can be used to point at a controlFile \r
+                 and a testGroup, so you can test just one thing at a time, or a limited suite.\r
+     \r
+     You can find other tests to run in two places:\r
+       The tests that get run on nightly: \r
+        xml-replay-master.xml\r
+       The set of possible tests, including ones that don't work:\r
+         dev-all.xml\r
+-->\r
+    <protoHostPort>http://localhost:8180</protoHostPort>\r
+    \r
+    <!-- legal values for dumpServiceResult=[minimal,detailed,full,auto] -->\r
+    <dump payloads="false" dumpServiceResult="detailed" />\r
+    \r
+    <auths default="admin@core.collectionspace.org">\r
+       <auth ID="admin@core.collectionspace.org">YWRtaW5AY29yZS5jb2xsZWN0aW9uc3BhY2Uub3JnOkFkbWluaXN0cmF0b3I=</auth>\r
+    </auths>\r
+    \r
+       <!-- EXAMPLES. JUST UNCOMMENT THEM, AND RUN AS SHOWN ABOVE.\r
+       <run controlFile="person/person.xml" testGroup="PersonAddRelsDeleteRels" />\r
+       <run controlFile="location/location-hierarchy.xml" testGroup="HierarchicLocation" />\r
+    -->\r
+</xmlReplayMaster>\r
+\r