using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
using NUnit.Framework; | |
using DotCMIS; | |
using DotCMIS.Client.Impl; | |
using DotCMIS.Client; | |
namespace DotCMISUnitTest | |
{ | |
[TestFixture] | |
class GetChildrenTest | |
{ | |
private static int numOfDocuments = 250; | |
[Test] | |
public void TestPaging() | |
{ | |
Dictionary<string, string> parameters = new Dictionary<string, string>(); | |
string baseUrlAtom = "http://localhost:8080/inmemory/atom"; | |
//string baseUrlAtom = "http://cmis.alfresco.com/cmisatom"; | |
string baseUrlWS = "http://localhost:8080/inmemory/services"; | |
parameters[SessionParameter.BindingType] = BindingType.AtomPub; | |
parameters[SessionParameter.AtomPubUrl] = baseUrlAtom; | |
parameters[SessionParameter.User] = "admin"; | |
parameters[SessionParameter.Password] = "admin"; | |
SessionFactory factory = SessionFactory.NewInstance(); | |
ISession session = factory.GetRepositories(parameters)[0].CreateSession(); | |
IOperationContext oc = session.CreateOperationContext(); | |
oc.MaxItemsPerPage = 100; | |
IFolder folder = createData(session); | |
//IFolder folder = session.GetObjectByPath(@"/childrenTestFolder") as IFolder; | |
int counter = 0; | |
foreach (ICmisObject child in folder.GetChildren(oc)) | |
{ | |
Console.WriteLine("!" + counter + " " + child.Name); | |
counter++; | |
} | |
Assert.AreEqual(numOfDocuments, counter); | |
counter = 0; | |
foreach (ICmisObject child in folder.GetChildren(oc).GetPage(150)) | |
{ | |
Console.WriteLine("#" + counter + " " + child.Name); | |
counter++; | |
} | |
Assert.AreEqual(150, counter); | |
counter = 0; | |
foreach (ICmisObject child in folder.GetChildren(oc).SkipTo(20).GetPage(180)) | |
{ | |
Console.WriteLine("*" + counter + " " + child.Name); | |
counter++; | |
} | |
Assert.AreEqual(180, counter); | |
folder.DeleteTree(true, null, true); | |
} | |
private IFolder createData(ISession session) | |
{ | |
Dictionary<string, object> properties = new Dictionary<string, object>(); | |
properties[PropertyIds.Name] = "childrenTestFolder"; | |
properties[PropertyIds.ObjectTypeId] = "cmis:folder"; | |
IFolder folder = session.GetRootFolder().CreateFolder(properties); | |
for (int i = 0; i < numOfDocuments; i++) | |
{ | |
Dictionary<string, object> docProps = new Dictionary<string, object>(); | |
docProps[PropertyIds.Name] = "doc" + i; | |
docProps[PropertyIds.ObjectTypeId] = "cmis:document"; | |
folder.CreateDocument(docProps, null, null); | |
} | |
return folder; | |
} | |
} | |
} |