blob: 5fda50eb71cbb6d34208aac037800f48f1fadc38 [file] [log] [blame]
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;
}
}
}