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));