private void t02_Folder(CMISTestSystem con) { initializeClient(con); CMISFolder root = cmisClient.GetRootFolder(); Assert.AreEqual(con.RootFolder, root.DisplayName); cmisClient.GetRootFolder().GetAllSubFolders().Count(); CMISFolder sub = cmisClient.GetFolderFromPath(con.SubFolder); Assert.AreEqual(con.SubFolder.Split('/').Last(), sub.DisplayName); CMISFolder sub1 = cmisClient.GetSubfolder(sub, sieeSubPath, con.FolderType); CMISFolder sub3 = cmisClient.GetSubfolder(sub, sieeSubPath + "/sub2/sub3", con.FolderType); CMISFolder sub4 = cmisClient.GetSubfolder(sub, sieeSubPath + "/sub2/sub4", con.FolderType); CMISFolder sub2 = cmisClient.GetFolderFromPath(con.SubFolder + "/" + sieeSubPath + "/" + "sub2"); Assert.AreEqual(2, sub2.GetAllSubFolders().Count()); cmisClient.DeleteFolder(sub4); cmisClient.DeleteFolder(sub3); cmisClient.DeleteFolder(sub2); deleteDocument(sub1, documentName); cmisClient.DeleteFolder(sub1); }
private List <CMISRepository> loadRepositories(CMISTestSystem con) { cmisClient.ServerURL = con.ServerURL; cmisClient.TypeOfBinding = con.TypeOfBinding; cmisClient.Username = con.Username; cmisClient.Password = con.Password; return(cmisClient.LoadRepositories()); }
private void t01_Repositories(CMISTestSystem con) { List <CMISRepository> repositories = loadRepositories(con); Assert.AreEqual(con.NumberOfRepositories, repositories.Count()); Assert.IsTrue(repositories.Where(n => n.Id == con.Repository).Count() == 1); cmisClient.SelectRepository(con.Repository); Assert.AreEqual(con.SupportedVersion, cmisClient.GetSupportedVersion()); }
private void t05_Versionable(CMISTestSystem con) { if (!con.VersionableTest) { return; } initializeClient(con); CMISType type = cmisClient.GetTypeFromId(con.TypesType); Assert.IsTrue(type.Versionable != true); type = cmisClient.GetTypeFromId(con.VersioningType); Assert.IsTrue(type.Versionable == true); }
private void t04_Documents(CMISTestSystem con) { initializeClient(con); string checkinComment = "Test check-in comment"; CMISFolder folder = cmisClient.GetFolderFromPath(con.SubFolder); folder = cmisClient.GetSubfolder(folder, sieeSubPath, con.FolderType); CMISType type = cmisClient.GetTypeFromId(con.StoreType); deleteDocument(folder, documentName); storeAndVerifyDocument(folder, documentName, type, con.Properties); if (con.VersioningType != null) { CMISDocument cmisDocument; deleteDocument(folder, documentName); Dictionary <string, object> props = new Dictionary <string, object>(); props["cmis:objectTypeId"] = cmisClient.GetTypeFromId(con.VersioningType).Id; cmisClient.StoreDocument(folder, sampleDocument, documentName, props, true); cmisDocument = cmisClient.GetDocument(folder, documentName); Assert.AreEqual(con.V1_Major, getVersionString(cmisDocument)); cmisClient.UpdateDocument(folder, sampleDocument, documentName, props, true, checkinComment); cmisDocument = cmisClient.GetObjectOfLatestVersion(cmisDocument, major: true); Assert.AreEqual(con.V2_Major, getVersionString(cmisDocument)); Assert.AreEqual(checkinComment, cmisClient.GetCheckinComent(cmisDocument)); if (con.SupportsMinorVersions) { deleteDocument(folder, documentName); cmisClient.StoreDocument(folder, sampleDocument, documentName, props, false); cmisDocument = cmisClient.GetDocument(folder, documentName); Assert.AreEqual(con.V1_Minor, getVersionString(cmisDocument)); cmisClient.UpdateDocument(folder, sampleDocument, documentName, props, false, checkinComment); cmisDocument = cmisClient.GetObjectOfLatestVersion(cmisDocument, major: false); Assert.AreEqual(con.V2_Minor, getVersionString(cmisDocument)); Assert.AreEqual(checkinComment, cmisClient.GetCheckinComent(cmisDocument)); } } deleteDocument(folder, documentName); cmisClient.DeleteFolder(folder); }
private void t06_Performance(CMISTestSystem con) { if (!runPerformaceTest) { return; } initializeClient(con); string documentName = "Sample document"; string folderName = con.SubFolder + "/" + sieeSubPath; CMISFolder folder = cmisClient.GetSubfolder(cmisClient.GetRootFolder(), folderName, con.FolderType); CMISType type = cmisClient.GetTypeFromId(con.StoreType); deleteDocument(folder, documentName); // pre-upload a few documents to warm up the system ... for (int i = 0; i != 5; i++) { doOneDocument(folder, documentName, type, con); } // do the real test Process p = Process.GetCurrentProcess(); long memBefore = p.PeakWorkingSet64 / 1000; int nofCycles = 100; int[] times = new int[nofCycles]; for (int i = 0; i != nofCycles; i++) { DateTime start = DateTime.Now; doOneDocument(folder, documentName, type, con); times[i] = (int)(DateTime.Now - start).TotalMilliseconds; Console.WriteLine(i + " = " + times[i]); } long memAfter = p.PeakWorkingSet64 / 1000; Assert.AreEqual(memBefore, memAfter); Assert.AreEqual(true, nofCycles > 20); double avgStart = average(times, 0, 9); double avgEnd = average(times, nofCycles - 10, nofCycles - 1); double deviation = Math.Abs(avgEnd - avgStart) / avgStart; Assert.AreEqual(true, deviation <= .25, "deviates (avgStart=" + avgStart + " ,avgEnd=" + avgEnd + ")"); }
private void t03_Types(CMISTestSystem con) { initializeClient(con); CMISType root = cmisClient.GetRootType(); Assert.AreEqual(con.RootType, root.Id); CMISType type = cmisClient.GetTypeFromId(con.TypesType); List <CMISProperty> props = cmisClient.GetPropertyDefinitions(type); Assert.AreEqual(con.NumberOfProperties, props.Count); foreach (CMISProperty p in con.ExpectedProperties) { CMISProperty p1 = props.Where(n => n.Id == p.Id).First(); Assert.AreEqual(p.DisplayName, p1.DisplayName); Assert.AreEqual(p.Type, p1.Type); } }
private void doOneDocument(CMISFolder folder, string documentName, CMISType type, CMISTestSystem con) { storeAndVerifyDocument(folder, documentName, type, con.Properties); deleteDocument(folder, documentName); }
private void initializeClient(CMISTestSystem con) { loadRepositories(con); cmisClient.SelectRepository(con.Repository); }