added a bit more unit test code
git-svn-id: https://svn.apache.org/repos/asf/incubator/chemistry/dotcmis/trunk@1070144 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/DotCMISUnitTest/SmokeTest.cs b/DotCMISUnitTest/SmokeTest.cs
index fb9758c..564daf1 100644
--- a/DotCMISUnitTest/SmokeTest.cs
+++ b/DotCMISUnitTest/SmokeTest.cs
@@ -198,7 +198,7 @@
Assert.NotNull(doc.Id);
Assert.AreEqual(properties[PropertyIds.Name], doc.Name);
Assert.AreEqual(BaseTypeId.CmisDocument, doc.BaseTypeId);
-
+
// check versions
IList<IDocument> versions = doc.GetAllVersions();
Assert.NotNull(versions);
@@ -210,6 +210,41 @@
Assert.NotNull(retrievedContentStream);
Assert.NotNull(retrievedContentStream.Stream);
+ MemoryStream byteStream = new MemoryStream();
+ byte[] buffer = new byte[4096];
+ int b = 1;
+ while (b > 0)
+ {
+ b = retrievedContentStream.Stream.Read(buffer, 0, buffer.Length);
+ byteStream.Write(buffer, 0, b);
+ }
+
+ byte[] retrievedContent = byteStream.ToArray();
+ Assert.NotNull(retrievedContent);
+ Assert.AreEqual(content.Length, retrievedContent.Length);
+ for (int i = 0; i < content.Length; i++)
+ {
+ Assert.AreEqual(content[i], retrievedContent[i]);
+ }
+
+ // update name
+ properties = new Dictionary<string, object>();
+ properties[PropertyIds.Name] = "test2-smoke.txt";
+
+ IObjectId newId = doc.UpdateProperties(properties);
+ IDocument doc2 = Session.GetObject(newId) as IDocument;
+
+ Assert.NotNull(doc2);
+
+ doc2.Refresh();
+ Assert.AreEqual(properties[PropertyIds.Name], doc2.Name);
+ Assert.AreEqual(properties[PropertyIds.Name], doc2.GetPropertyValue(PropertyIds.Name));
+
+ IProperty nameProperty = doc2[PropertyIds.Name];
+ Assert.NotNull(nameProperty.PropertyType);
+ Assert.AreEqual(properties[PropertyIds.Name], nameProperty.Value);
+ Assert.AreEqual(properties[PropertyIds.Name], nameProperty.FirstValue);
+
doc.Delete(true);
try
@@ -230,12 +265,13 @@
properties[PropertyIds.ObjectTypeId] = "cmis:folder";
IFolder folder = rootFolder.CreateFolder(properties);
-
+
// check folder
Assert.NotNull(folder);
Assert.NotNull(folder.Id);
Assert.AreEqual(properties[PropertyIds.Name], folder.Name);
Assert.AreEqual(BaseTypeId.CmisFolder, folder.BaseTypeId);
+ Assert.AreEqual(rootFolder.Id, folder.FolderParent.Id);
// check children
foreach (ICmisObject cmisObject in folder.GetChildren())
@@ -243,6 +279,44 @@
Assert.Fail("Folder shouldn't have children!");
}
+ // check descendants
+ bool? descSupport = Session.RepositoryInfo.Capabilities.IsGetDescendantsSupported;
+ if (descSupport.HasValue && descSupport.Value)
+ {
+ IList<ITree<IFileableCmisObject>> list = folder.GetDescendants(-1);
+
+ if (list != null)
+ {
+ foreach (ITree<IFileableCmisObject> desc in list)
+ {
+ Assert.Fail("Folder shouldn't have children!");
+ }
+ }
+ }
+ else
+ {
+ Console.WriteLine("GetDescendants not supported!");
+ }
+
+ // check folder tree
+ bool? folderTreeSupport = Session.RepositoryInfo.Capabilities.IsGetFolderTreeSupported;
+ if (folderTreeSupport.HasValue && folderTreeSupport.Value)
+ {
+ IList<ITree<IFileableCmisObject>> list = folder.GetFolderTree(-1);
+
+ if (list != null)
+ {
+ foreach (ITree<IFileableCmisObject> desc in list)
+ {
+ Assert.Fail("Folder shouldn't have children!");
+ }
+ }
+ }
+ else
+ {
+ Console.WriteLine("GetFolderTree not supported!");
+ }
+
folder.Delete(true);
try