]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-664,CSPACE-489,CSPACE-114: Added code to clean up extra entity objects created...
authorAron Roberts <aron@socrates.berkeley.edu>
Tue, 15 Dec 2009 20:02:58 +0000 (20:02 +0000)
committerAron Roberts <aron@socrates.berkeley.edu>
Tue, 15 Dec 2009 20:02:58 +0000 (20:02 +0000)
services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionServiceTest.java
services/contact/client/src/test/java/org/collectionspace/services/client/test/ContactServiceTest.java
services/dimension/client/src/test/java/org/collectionspace/services/client/test/DimensionServiceTest.java

index 585075e5058f5c9c1dc03c5f5edd0b7705a83e4d..f7aed8c5b48652dba26707d010234c2f41a109b6 100644 (file)
@@ -573,10 +573,6 @@ public class AcquisitionServiceTest extends AbstractServiceTest {
     // Cleanup of resources created during testing
     // ---------------------------------------------------------------
 
-    // ---------------------------------------------------------------
-    // Cleanup of resources created during testing
-    // ---------------------------------------------------------------
-
     /**
      * Deletes all resources created by tests, after all tests have been run.
      *
index a1c9b5f17269c065e030719b32e5cb7987e04610..55db0250e0af558bf9f350d035e0492836a1c1b3 100644 (file)
@@ -22,6 +22,7 @@
  */
 package org.collectionspace.services.client.test;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
@@ -36,6 +37,7 @@ import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
 import org.jboss.resteasy.plugins.providers.multipart.OutputPart;
 import org.testng.Assert;
+import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import org.slf4j.Logger;
@@ -57,6 +59,7 @@ public class ContactServiceTest extends AbstractServiceTest {
     private ContactClient client = new ContactClient();
     final String SERVICE_PATH_COMPONENT = "contacts";
     private String knownResourceId = null;
+    private List<String> allResourceIdsCreated = new ArrayList();
 
     // ---------------------------------------------------------------
     // CRUD tests : CREATE tests
@@ -92,12 +95,18 @@ public class ContactServiceTest extends AbstractServiceTest {
                 invalidStatusCodeMessage(REQUEST_TYPE, statusCode));
         Assert.assertEquals(statusCode, EXPECTED_STATUS_CODE);
 
-        // Store the ID returned from this create operation
+        // Store the ID returned from the first resource created
         // for additional tests below.
-        knownResourceId = extractId(res);
-        if(logger.isDebugEnabled()){
-            logger.debug(testName + ": knownResourceId=" + knownResourceId);
+        if (knownResourceId == null){
+            knownResourceId = extractId(res);
+            if (logger.isDebugEnabled()) {
+                logger.debug(testName + ": knownResourceId=" + knownResourceId);
+            }
         }
+
+        // Store the IDs from every resource created by tests,
+        // so they can be deleted after tests have been run.
+        allResourceIdsCreated.add(extractId(res));
     }
 
     @Override
@@ -565,6 +574,29 @@ public class ContactServiceTest extends AbstractServiceTest {
 
     }
 
+    // ---------------------------------------------------------------
+    // Cleanup of resources created during testing
+    // ---------------------------------------------------------------
+
+    /**
+     * Deletes all resources created by tests, after all tests have been run.
+     *
+     * This cleanup method will always be run, even if one or more tests fail.
+     * For this reason, it attempts to remove all resources created
+     * at any point during testing, even if some of those resources
+     * may be expected to be deleted by certain tests.
+     */
+    @AfterClass(alwaysRun=true)
+    public void cleanUp() {
+        if (logger.isDebugEnabled()) {
+            logger.debug("Cleaning up temporary resources created for testing ...");
+        }
+        for (String resourceId : allResourceIdsCreated) {
+            // Note: Any non-success responses are ignored and not reported.
+            ClientResponse<Response> res = client.delete(resourceId);
+        }
+    }
+
     // ---------------------------------------------------------------
     // Utility methods used by tests above
     // ---------------------------------------------------------------
index 6ad4d757a0d7ad421ad3909166b4b1daf1225c82..13702704d8c95be18290a26482af848be5b70ea1 100644 (file)
@@ -22,6 +22,7 @@
  */
 package org.collectionspace.services.client.test;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
@@ -36,6 +37,7 @@ import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
 import org.jboss.resteasy.plugins.providers.multipart.OutputPart;
 import org.testng.Assert;
+import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import org.slf4j.Logger;
@@ -57,6 +59,7 @@ public class DimensionServiceTest extends AbstractServiceTest {
     private DimensionClient client = new DimensionClient();
     final String SERVICE_PATH_COMPONENT = "dimensions";
     private String knownResourceId = null;
+    private List<String> allResourceIdsCreated = new ArrayList();
 
     // ---------------------------------------------------------------
     // CRUD tests : CREATE tests
@@ -92,12 +95,18 @@ public class DimensionServiceTest extends AbstractServiceTest {
                 invalidStatusCodeMessage(REQUEST_TYPE, statusCode));
         Assert.assertEquals(statusCode, EXPECTED_STATUS_CODE);
 
-        // Store the ID returned from this create operation
+        // Store the ID returned from the first resource created
         // for additional tests below.
-        knownResourceId = extractId(res);
-        if(logger.isDebugEnabled()){
-            logger.debug(testName + ": knownResourceId=" + knownResourceId);
+        if (knownResourceId == null){
+            knownResourceId = extractId(res);
+            if (logger.isDebugEnabled()) {
+                logger.debug(testName + ": knownResourceId=" + knownResourceId);
+            }
         }
+
+        // Store the IDs from every resource created by tests,
+        // so they can be deleted after tests have been run.
+        allResourceIdsCreated.add(extractId(res));
     }
 
     @Override
@@ -566,6 +575,29 @@ public class DimensionServiceTest extends AbstractServiceTest {
 
     }
 
+    // ---------------------------------------------------------------
+    // Cleanup of resources created during testing
+    // ---------------------------------------------------------------
+
+    /**
+     * Deletes all resources created by tests, after all tests have been run.
+     *
+     * This cleanup method will always be run, even if one or more tests fail.
+     * For this reason, it attempts to remove all resources created
+     * at any point during testing, even if some of those resources
+     * may be expected to be deleted by certain tests.
+     */
+    @AfterClass(alwaysRun=true)
+    public void cleanUp() {
+        if (logger.isDebugEnabled()) {
+            logger.debug("Cleaning up temporary resources created for testing ...");
+        }
+        for (String resourceId : allResourceIdsCreated) {
+            // Note: Any non-success responses are ignored and not reported.
+            ClientResponse<Response> res = client.delete(resourceId);
+        }
+    }
+
     // ---------------------------------------------------------------
     // Utility methods used by tests above
     // ---------------------------------------------------------------