Author: fmui
Date: Tue Dec 4 15:47:13 2012
New Revision: 1417001
URL: http://svn.apache.org/viewvc?rev=1417001&view=rev
Log:
TCK: some CMIS 1.1 related changes and additions
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/SecurityTest.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/TypesTest.java
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.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/impl/AbstractSessionTest.java?rev=1417001&r1=1417000&r2=1417001&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
Tue Dec 4 15:47:13 2012
@@ -74,6 +74,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
import org.apache.chemistry.opencmis.commons.enums.BindingType;
import org.apache.chemistry.opencmis.commons.enums.Cardinality;
+import org.apache.chemistry.opencmis.commons.enums.CmisVersion;
import org.apache.chemistry.opencmis.commons.enums.ContentStreamAllowed;
import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
import org.apache.chemistry.opencmis.commons.enums.PropertyType;
@@ -1180,7 +1181,7 @@ public abstract class AbstractSessionTes
// check content length
if (rend.getLength() > -1) {
f = createResult(FAILURE,
- "Rendition content stream lengthÃ
value doesn't match the actual content length!");
+ "Rendition content stream length
value doesn't match the actual content length!");
addResult(results,
assertEquals(rend.getLength(), bytes, null, f));
}
} catch (Exception e) {
@@ -1908,168 +1909,192 @@ public abstract class AbstractSessionTes
}
// check properties
- f = createResult(FAILURE, "Type has no property definitions!");
- addResult(results, assertNotNull(type.getPropertyDefinitions(),
null, f));
+ if (!BaseTypeId.CMIS_SECONDARY.equals(type.getBaseTypeId())) {
- if (type.getPropertyDefinitions() != null) {
- for (PropertyDefinition<?> propDef :
type.getPropertyDefinitions().values()) {
- if (propDef == null) {
- addResult(results, createResult(FAILURE, "A property
definition is null!"));
- } else if (propDef.getId() == null) {
- addResult(results, createResult(FAILURE, "A property
definition id is null!"));
- } else {
- addResult(results, checkPropertyDefinition(propDef,
"Property definition: " + propDef.getId()));
+ f = createResult(FAILURE, "Type has no property definitions!");
+ addResult(results,
assertNotNull(type.getPropertyDefinitions(), null, f));
+
+ if (type.getPropertyDefinitions() != null) {
+ for (PropertyDefinition<?> propDef :
type.getPropertyDefinitions().values()) {
+ if (propDef == null) {
+ addResult(results, createResult(FAILURE, "A
property definition is null!"));
+ } else if (propDef.getId() == null) {
+ addResult(results, createResult(FAILURE, "A
property definition id is null!"));
+ } else {
+ addResult(results,
+ checkPropertyDefinition(propDef, "Property
definition: " + propDef.getId()));
+ }
}
}
- }
-
- CmisPropertyDefintion cpd;
-
- // cmis:name
- cpd = new CmisPropertyDefintion(PropertyIds.NAME, null,
PropertyType.STRING, Cardinality.SINGLE, null,
- null, null);
- addResult(results, cpd.check(type));
-
- // cmis:objectId
- cpd = new CmisPropertyDefintion(PropertyIds.OBJECT_ID, false,
PropertyType.ID, Cardinality.SINGLE,
- Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:baseTypeId
- cpd = new CmisPropertyDefintion(PropertyIds.BASE_TYPE_ID, false,
PropertyType.ID, Cardinality.SINGLE,
- Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:objectTypeId
- cpd = new CmisPropertyDefintion(PropertyIds.OBJECT_TYPE_ID, true,
PropertyType.ID, Cardinality.SINGLE,
- Updatability.ONCREATE, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:createdBy
- cpd = new CmisPropertyDefintion(PropertyIds.CREATED_BY, false,
PropertyType.STRING, Cardinality.SINGLE,
- Updatability.READONLY, true, true);
- addResult(results, cpd.check(type));
-
- // cmis:creationDate
- cpd = new CmisPropertyDefintion(PropertyIds.CREATION_DATE, false,
PropertyType.DATETIME,
- Cardinality.SINGLE, Updatability.READONLY, true, true);
- addResult(results, cpd.check(type));
-
- // cmis:lastModifiedBy
- cpd = new CmisPropertyDefintion(PropertyIds.LAST_MODIFIED_BY,
false, PropertyType.STRING,
- Cardinality.SINGLE, Updatability.READONLY, true, true);
- addResult(results, cpd.check(type));
-
- // cmis:lastModificationDate
- cpd = new
CmisPropertyDefintion(PropertyIds.LAST_MODIFICATION_DATE, false,
PropertyType.DATETIME,
- Cardinality.SINGLE, Updatability.READONLY, true, true);
- addResult(results, cpd.check(type));
-
- // cmis:changeToken
- cpd = new CmisPropertyDefintion(PropertyIds.CHANGE_TOKEN, false,
PropertyType.STRING, Cardinality.SINGLE,
- Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- if (BaseTypeId.CMIS_DOCUMENT.equals(type.getBaseTypeId())) {
- // cmis:isImmutable
- cpd = new CmisPropertyDefintion(PropertyIds.IS_IMMUTABLE,
false, PropertyType.BOOLEAN,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
- // cmis:isLatestVersion
- cpd = new CmisPropertyDefintion(PropertyIds.IS_LATEST_VERSION,
false, PropertyType.BOOLEAN,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
+ CmisPropertyDefintion cpd;
- // cmis:isMajorVersion
- cpd = new CmisPropertyDefintion(PropertyIds.IS_MAJOR_VERSION,
false, PropertyType.BOOLEAN,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:isLatestMajorVersion
- cpd = new
CmisPropertyDefintion(PropertyIds.IS_LATEST_MAJOR_VERSION, false,
PropertyType.BOOLEAN,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:versionLabel
- cpd = new CmisPropertyDefintion(PropertyIds.VERSION_LABEL,
false, PropertyType.STRING,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:versionSeriesId
- cpd = new CmisPropertyDefintion(PropertyIds.VERSION_SERIES_ID,
false, PropertyType.ID,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:name
+ cpd = new CmisPropertyDefintion(PropertyIds.NAME, null,
PropertyType.STRING, Cardinality.SINGLE, null,
+ null, null);
addResult(results, cpd.check(type));
- // cmis:isVersionSeriesCheckedOut
- cpd = new
CmisPropertyDefintion(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT, false,
PropertyType.BOOLEAN,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:objectId
+ cpd = new CmisPropertyDefintion(PropertyIds.OBJECT_ID, false,
PropertyType.ID, Cardinality.SINGLE,
+ Updatability.READONLY, null, null);
addResult(results, cpd.check(type));
- // cmis:versionSeriesCheckedOutBy
- cpd = new
CmisPropertyDefintion(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY, false,
PropertyType.STRING,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:baseTypeId
+ cpd = new CmisPropertyDefintion(PropertyIds.BASE_TYPE_ID,
false, PropertyType.ID, Cardinality.SINGLE,
+ Updatability.READONLY, null, null);
addResult(results, cpd.check(type));
- // cmis:versionSeriesCheckedOutId
- cpd = new
CmisPropertyDefintion(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID, false,
PropertyType.ID,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:objectTypeId
+ cpd = new CmisPropertyDefintion(PropertyIds.OBJECT_TYPE_ID,
true, PropertyType.ID, Cardinality.SINGLE,
+ Updatability.ONCREATE, null, null);
addResult(results, cpd.check(type));
- // cmis:checkinComment
- cpd = new CmisPropertyDefintion(PropertyIds.CHECKIN_COMMENT,
false, PropertyType.STRING,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:createdBy
+ cpd = new CmisPropertyDefintion(PropertyIds.CREATED_BY, false,
PropertyType.STRING, Cardinality.SINGLE,
+ Updatability.READONLY, true, true);
addResult(results, cpd.check(type));
- // cmis:contentStreamLength
- cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_LENGTH, false,
PropertyType.INTEGER,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:creationDate
+ cpd = new CmisPropertyDefintion(PropertyIds.CREATION_DATE,
false, PropertyType.DATETIME,
+ Cardinality.SINGLE, Updatability.READONLY, true, true);
addResult(results, cpd.check(type));
- // cmis:contentStreamMimeType
- cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_MIME_TYPE, false,
PropertyType.STRING,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:lastModifiedBy
+ cpd = new CmisPropertyDefintion(PropertyIds.LAST_MODIFIED_BY,
false, PropertyType.STRING,
+ Cardinality.SINGLE, Updatability.READONLY, true, true);
addResult(results, cpd.check(type));
- // cmis:contentStreamFileName
- cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_FILE_NAME, false,
PropertyType.STRING,
- Cardinality.SINGLE, Updatability.READONLY, null, null);
+ // cmis:lastModificationDate
+ cpd = new
CmisPropertyDefintion(PropertyIds.LAST_MODIFICATION_DATE, false,
PropertyType.DATETIME,
+ Cardinality.SINGLE, Updatability.READONLY, true, true);
addResult(results, cpd.check(type));
- // cmis:contentStreamId
- cpd = new CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_ID,
false, PropertyType.ID,
+ // cmis:changeToken
+ cpd = new CmisPropertyDefintion(PropertyIds.CHANGE_TOKEN,
false, PropertyType.STRING,
Cardinality.SINGLE, Updatability.READONLY, null, null);
addResult(results, cpd.check(type));
- } else if (BaseTypeId.CMIS_FOLDER.equals(type.getBaseTypeId())) {
- // cmis:parentId
- cpd = new CmisPropertyDefintion(PropertyIds.PARENT_ID, false,
PropertyType.ID, Cardinality.SINGLE,
- Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:path
- cpd = new CmisPropertyDefintion(PropertyIds.PATH, false,
PropertyType.STRING, Cardinality.SINGLE,
- Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
-
- // cmis:allowedChildObjectTypeIds
- cpd = new
CmisPropertyDefintion(PropertyIds.ALLOWED_CHILD_OBJECT_TYPE_IDS, false,
PropertyType.ID,
- Cardinality.MULTI, Updatability.READONLY, null, null);
- addResult(results, cpd.check(type));
- } else if
(BaseTypeId.CMIS_RELATIONSHIP.equals(type.getBaseTypeId())) {
- // cmis:sourceId
- cpd = new CmisPropertyDefintion(PropertyIds.SOURCE_ID, true,
PropertyType.ID, Cardinality.SINGLE, null,
- null, null);
- addResult(results, cpd.check(type));
- // cmis:targetId
- cpd = new CmisPropertyDefintion(PropertyIds.TARGET_ID, true,
PropertyType.ID, Cardinality.SINGLE, null,
- null, null);
- addResult(results, cpd.check(type));
- } else if (BaseTypeId.CMIS_POLICY.equals(type.getBaseTypeId())) {
- // cmis:policyText
- cpd = new CmisPropertyDefintion(PropertyIds.POLICY_TEXT, true,
PropertyType.STRING, Cardinality.SINGLE,
- null, null, null);
- addResult(results, cpd.check(type));
+ // CMIS 1.1 properties
+ if (session.getRepositoryInfo().getCmisVersion() ==
CmisVersion.CMIS_1_1) {
+ // cmis:description
+ cpd = new CmisPropertyDefintion(PropertyIds.DESCRIPTION,
null, PropertyType.STRING,
+ Cardinality.SINGLE, null, null, null);
+ addResult(results, cpd.check(type));
+
+ // cmis:secondaryObjectTypeIds
+ cpd = new
CmisPropertyDefintion(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, null,
PropertyType.ID,
+ Cardinality.MULTI, null, null, null);
+ addResult(results, cpd.check(type));
+
+ if (BaseTypeId.CMIS_DOCUMENT.equals(type.getBaseTypeId()))
{
+ // cmis:isPrivateWorkingCopy
+ cpd = new
CmisPropertyDefintion(PropertyIds.IS_PRIVATE_WORKING_COPY, null,
+ PropertyType.BOOLEAN, Cardinality.SINGLE,
Updatability.READONLY, null, null);
+ addResult(results, cpd.check(type));
+ }
+ }
+
+ if (BaseTypeId.CMIS_DOCUMENT.equals(type.getBaseTypeId())) {
+ // cmis:isImmutable
+ cpd = new CmisPropertyDefintion(PropertyIds.IS_IMMUTABLE,
false, PropertyType.BOOLEAN,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:isLatestVersion
+ cpd = new
CmisPropertyDefintion(PropertyIds.IS_LATEST_VERSION, false,
PropertyType.BOOLEAN,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:isMajorVersion
+ cpd = new
CmisPropertyDefintion(PropertyIds.IS_MAJOR_VERSION, false, PropertyType.BOOLEAN,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:isLatestMajorVersion
+ cpd = new
CmisPropertyDefintion(PropertyIds.IS_LATEST_MAJOR_VERSION, false,
PropertyType.BOOLEAN,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:versionLabel
+ cpd = new CmisPropertyDefintion(PropertyIds.VERSION_LABEL,
false, PropertyType.STRING,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:versionSeriesId
+ cpd = new
CmisPropertyDefintion(PropertyIds.VERSION_SERIES_ID, false, PropertyType.ID,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:isVersionSeriesCheckedOut
+ cpd = new
CmisPropertyDefintion(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT, false,
+ PropertyType.BOOLEAN, Cardinality.SINGLE,
Updatability.READONLY, null, null);
+ addResult(results, cpd.check(type));
+
+ // cmis:versionSeriesCheckedOutBy
+ cpd = new
CmisPropertyDefintion(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY, false,
+ PropertyType.STRING, Cardinality.SINGLE,
Updatability.READONLY, null, null);
+ addResult(results, cpd.check(type));
+
+ // cmis:versionSeriesCheckedOutId
+ cpd = new
CmisPropertyDefintion(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID, false,
PropertyType.ID,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:checkinComment
+ cpd = new
CmisPropertyDefintion(PropertyIds.CHECKIN_COMMENT, false, PropertyType.STRING,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:contentStreamLength
+ cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_LENGTH, false,
PropertyType.INTEGER,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:contentStreamMimeType
+ cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_MIME_TYPE, false,
PropertyType.STRING,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:contentStreamFileName
+ cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_FILE_NAME, false,
PropertyType.STRING,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+
+ // cmis:contentStreamId
+ cpd = new
CmisPropertyDefintion(PropertyIds.CONTENT_STREAM_ID, false, PropertyType.ID,
+ Cardinality.SINGLE, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+ } else if
(BaseTypeId.CMIS_FOLDER.equals(type.getBaseTypeId())) {
+ // cmis:parentId
+ cpd = new CmisPropertyDefintion(PropertyIds.PARENT_ID,
false, PropertyType.ID, Cardinality.SINGLE,
+ Updatability.READONLY, null, null);
+ addResult(results, cpd.check(type));
+
+ // cmis:path
+ cpd = new CmisPropertyDefintion(PropertyIds.PATH, false,
PropertyType.STRING, Cardinality.SINGLE,
+ Updatability.READONLY, null, null);
+ addResult(results, cpd.check(type));
+
+ // cmis:allowedChildObjectTypeIds
+ cpd = new
CmisPropertyDefintion(PropertyIds.ALLOWED_CHILD_OBJECT_TYPE_IDS, false,
PropertyType.ID,
+ Cardinality.MULTI, Updatability.READONLY, null,
null);
+ addResult(results, cpd.check(type));
+ } else if
(BaseTypeId.CMIS_RELATIONSHIP.equals(type.getBaseTypeId())) {
+ // cmis:sourceId
+ cpd = new CmisPropertyDefintion(PropertyIds.SOURCE_ID,
true, PropertyType.ID, Cardinality.SINGLE,
+ null, null, null);
+ addResult(results, cpd.check(type));
+
+ // cmis:targetId
+ cpd = new CmisPropertyDefintion(PropertyIds.TARGET_ID,
true, PropertyType.ID, Cardinality.SINGLE,
+ null, null, null);
+ addResult(results, cpd.check(type));
+ } else if
(BaseTypeId.CMIS_POLICY.equals(type.getBaseTypeId())) {
+ // cmis:policyText
+ cpd = new CmisPropertyDefintion(PropertyIds.POLICY_TEXT,
true, PropertyType.STRING,
+ Cardinality.SINGLE, null, null, null);
+ addResult(results, cpd.check(type));
+ }
}
}
@@ -2206,6 +2231,29 @@ public abstract class AbstractSessionTes
addResult(results,
assertEquals(expected.isIncludedInSupertypeQuery(),
actual.isIncludedInSupertypeQuery(), null, f));
+ if (expected.getTypeMutability() != null && actual.getTypeMutability()
!= null) {
+ f = createResult(FAILURE, "Type Mutability: Create flags don't
match!");
+ addResult(
+ results,
+ assertEquals(expected.getTypeMutability().canCreate(),
actual.getTypeMutability().canCreate(),
+ null, f));
+
+ f = createResult(FAILURE, "Type Mutability: update flags don't
match!");
+ addResult(
+ results,
+ assertEquals(expected.getTypeMutability().canUpdate(),
actual.getTypeMutability().canUpdate(),
+ null, f));
+
+ f = createResult(FAILURE, "Type Mutability: delete flags don't
match!");
+ addResult(
+ results,
+ assertEquals(expected.getTypeMutability().canDelete(),
actual.getTypeMutability().canDelete(),
+ null, f));
+ } else {
+ f = createResult(FAILURE, "Type Mutability infos don't match!");
+ addResult(results, assertEquals(expected.getTypeMutability(),
actual.getTypeMutability(), null, f));
+ }
+
if ((expected.getPropertyDefinitions() != null) &&
(actual.getPropertyDefinitions() != null)) {
Map<String, PropertyDefinition<?>> epd =
expected.getPropertyDefinitions();
Map<String, PropertyDefinition<?>> apd =
actual.getPropertyDefinitions();
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/SecurityTest.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/basics/SecurityTest.java?rev=1417001&r1=1417000&r2=1417001&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/SecurityTest.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/SecurityTest.java
Tue Dec 4 15:47:13 2012
@@ -59,6 +59,11 @@ public class SecurityTest extends Abstra
addResult(f);
}
break;
+ case BROWSER:
+ if
(!isHttpsUrl(getParameters().get(SessionParameter.BROWSER_URL))) {
+ addResult(f);
+ }
+ break;
default:
// nothing to do
}
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/TypesTest.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/basics/TypesTest.java?rev=1417001&r1=1417000&r2=1417001&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/TypesTest.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/TypesTest.java
Tue Dec 4 15:47:13 2012
@@ -31,6 +31,7 @@ import org.apache.chemistry.opencmis.cli
import org.apache.chemistry.opencmis.client.api.Tree;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
+import org.apache.chemistry.opencmis.commons.enums.CmisVersion;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.chemistry.opencmis.tck.CmisTestResult;
@@ -99,6 +100,36 @@ public class TypesTest extends AbstractS
addResult(createResult(WARNING, "Policy type not available!", e,
false));
}
+ // CMIS 1.1 types
+ if (session.getRepositoryInfo().getCmisVersion() ==
CmisVersion.CMIS_1_1) {
+ // item
+ try {
+ TypeDefinition itemType =
session.getTypeDefinition(BaseTypeId.CMIS_ITEM.value());
+ addResult(checkTypeDefinition(session, itemType, "Item type
spec compliance."));
+
+ failure = createResult(FAILURE, "Item type has the wrong base
type: " + itemType.getBaseTypeId());
+ addResult(assertEquals(BaseTypeId.CMIS_ITEM,
itemType.getBaseTypeId(), null, failure));
+ } catch (CmisInvalidArgumentException e) {
+ addResult(createResult(WARNING, "Item type not available!", e,
false));
+ } catch (CmisObjectNotFoundException e) {
+ addResult(createResult(WARNING, "Item type not available!", e,
false));
+ }
+
+ // secondary type
+ try {
+ TypeDefinition secondaryType =
session.getTypeDefinition(BaseTypeId.CMIS_SECONDARY.value());
+ addResult(checkTypeDefinition(session, secondaryType,
"Secondary type spec compliance."));
+
+ failure = createResult(FAILURE,
+ "Secondary type has the wrong base type: " +
secondaryType.getBaseTypeId());
+ addResult(assertEquals(BaseTypeId.CMIS_SECONDARY,
secondaryType.getBaseTypeId(), null, failure));
+ } catch (CmisInvalidArgumentException e) {
+ addResult(createResult(WARNING, "Secondary type not
available!", e, false));
+ } catch (CmisObjectNotFoundException e) {
+ addResult(createResult(WARNING, "Secondary type not
available!", e, false));
+ }
+ }
+
int numOfTypes = runTypeChecks(session,
session.getTypeDescendants(null, -1, true));
addResult(createInfoResult("Checked " + numOfTypes + " type
definitions."));