Author: fmui
Date: Wed Jan 27 15:05:02 2016
New Revision: 1727077

URL: http://svn.apache.org/viewvc?rev=1727077&view=rev
Log:
TCK: added more checks around deletions of versions

Modified:
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/versioning/VersionDeleteTest.java

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/versioning/VersionDeleteTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/versioning/VersionDeleteTest.java?rev=1727077&r1=1727076&r2=1727077&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/versioning/VersionDeleteTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/versioning/VersionDeleteTest.java
 Wed Jan 27 15:05:02 2016
@@ -20,6 +20,7 @@ package org.apache.chemistry.opencmis.tc
 
 import static org.apache.chemistry.opencmis.tck.CmisTestResultStatus.FAILURE;
 import static org.apache.chemistry.opencmis.tck.CmisTestResultStatus.SKIPPED;
+import static org.apache.chemistry.opencmis.tck.CmisTestResultStatus.WARNING;
 
 import java.io.ByteArrayInputStream;
 import java.math.BigInteger;
@@ -32,6 +33,9 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.client.api.Session;
 import org.apache.chemistry.opencmis.commons.data.ContentStream;
 import 
org.apache.chemistry.opencmis.commons.definitions.DocumentTypeDefinition;
+import org.apache.chemistry.opencmis.commons.enums.Action;
+import 
org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException;
+import 
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
 import org.apache.chemistry.opencmis.commons.impl.IOUtils;
 import 
org.apache.chemistry.opencmis.commons.impl.dataobjects.ContentStreamImpl;
 import org.apache.chemistry.opencmis.tck.CmisTestResult;
@@ -123,11 +127,29 @@ public class VersionDeleteTest extends A
     private void deleteVersion(Document versionDoc, Document previousDoc, int 
version) {
         CmisTestResult f;
 
+        // check Allowable Action
+        if (!versionDoc.hasAllowableAction(Action.CAN_DELETE_OBJECT)) {
+            addResult(createResult(WARNING, "Version " + version
+                    + " does not have the Allowable Action 
'canDeleteObject'."));
+            return;
+        }
+
         // get version history before delete
         List<Document> versionsBefore = versionDoc.getAllVersions();
 
         // delete and check
-        versionDoc.delete(false);
+        try {
+            versionDoc.delete(false);
+        } catch (CmisInvalidArgumentException iae) {
+            addResult(createResult(WARNING, "Deletion of version " + version
+                    + " failed with an invalidArgument exception. "
+                    + "Removing just one version doesn't seem to be 
supported."));
+            return;
+        } catch (CmisConstraintException ce) {
+            addResult(createResult(WARNING, "Deletion of version " + version + 
" failed with an constraint exception. "
+                    + "Removing just one version doesn't seem to be 
supported."));
+            return;
+        }
 
         f = createResult(FAILURE, "Deleted version " + version + " still 
exists!");
         addResult(assertIsFalse(exists(versionDoc), null, f));


Reply via email to