public void TokenParser_Test_ParseStringWebPart() { string mockSiteUrl = "https://test.sharepoint.com/sites/TestWeb"; ProvisioningTemplate template = new ProvisioningTemplate(); template.Lists.Add(new ListInstance() { Title = "{sitetitle}" }); using (ClientContext cctx = new ClientContext(mockSiteUrl)) { MockEntryResponseProvider responseProvider = new MockEntryResponseProvider(); responseProvider.ResponseEntries.Add(new MockResponseEntry <object>() { Url = mockSiteUrl, PropertyName = "Web", ReturnValue = new { Title = "Test Web", ServerRelativeUrl = "/sites/TestWeb", Url = mockSiteUrl } }); MockWebRequestExecutorFactory executorFactory = new MockWebRequestExecutorFactory(responseProvider); cctx.WebRequestExecutorFactory = executorFactory; TokenParser parser = new TokenParser(cctx.Web, template); Assert.AreEqual("Test Web", parser.ParseString("{sitetitle}")); } }
public void MockEntryResponseProvider_Web_Test_EnsureUser() { MockEntryResponseProvider provider = new MockEntryResponseProvider(); provider.ResponseEntries.Add(new MockResponseEntry() { Url = TestSiteUrl, Method = "EnsureUser", ReturnValue = new { _ObjectType_ = "SP.User", Id = 3, IsHiddenInUI = false, LoginName = "SP\\TestUser", Title = "Test User", PrincipalType = 1 } }); using (ClientContext context = new ClientContext(TestSiteUrl)) { context.WebRequestExecutorFactory = new MockWebRequestExecutorFactory(provider); User user = context.Web.EnsureUser("SP\\TestUser"); context.Load(user); context.ExecuteQuery(); Assert.AreEqual("Test User", user.Title); } }
public void MockEntryResponseProvider_Web_Test_GetPropertyBag() { MockEntryResponseProvider provider = new MockEntryResponseProvider(); provider.ResponseEntries.Add(new MockResponseEntry() { Url = TestSiteUrl, PropertyName = "AllProperties", ReturnValue = new { _ObjectType_ = "SP.PropertyValues", Prop1 = "Test Property 1", Prop2 = "Test Property 2", } }); using (ClientContext context = new ClientContext(TestSiteUrl)) { context.WebRequestExecutorFactory = new MockWebRequestExecutorFactory(provider); Microsoft.SharePoint.Client.Web currentWeb = context.Web; PropertyValues allProperties = currentWeb.AllProperties; context.Load(allProperties); context.ExecuteQuery(); Assert.AreEqual("Test Property 1", allProperties["Prop1"]); Assert.AreEqual("Test Property 2", allProperties["Prop2"]); } }
public void CSOMRequest_Test_ListItemsQueryDeserialization() { string request = "<Request AddExpandoFieldTypeSuffix=\"true\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\".NET Library\" xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\"><Actions><ObjectPath Id=\"2\" ObjectPathId=\"1\" /><ObjectPath Id=\"4\" ObjectPathId=\"3\" /><ObjectPath Id=\"6\" ObjectPathId=\"5\" /><ObjectPath Id=\"8\" ObjectPathId=\"7\" /><ObjectIdentityQuery Id=\"9\" ObjectPathId=\"7\" /><ObjectPath Id=\"11\" ObjectPathId=\"10\" /><Query Id=\"12\" ObjectPathId=\"10\"><Query SelectAllProperties=\"true\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"true\"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><StaticProperty Id=\"1\" TypeId=\"{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}\" Name=\"Current\" /><Property Id=\"3\" ParentId=\"1\" Name=\"Web\" /><Property Id=\"5\" ParentId=\"3\" Name=\"Lists\" /><Method Id=\"7\" ParentId=\"5\" Name=\"GetByTitle\"><Parameters><Parameter Type=\"String\">TestList</Parameter></Parameters></Method><Method Id=\"10\" ParentId=\"7\" Name=\"GetItems\"><Parameters><Parameter TypeId=\"{3d248d7b-fc86-40a3-aa97-02a75d69fb8a}\"><Property Name=\"AllowIncrementalResults\" Type=\"Boolean\">false</Property><Property Name=\"DatesInUtc\" Type=\"Boolean\">true</Property><Property Name=\"FolderServerRelativePath\" Type=\"Null\" /><Property Name=\"FolderServerRelativeUrl\" Type=\"Null\" /><Property Name=\"ListItemCollectionPosition\" Type=\"Null\" /><Property Name=\"ViewXml\" Type=\"String\"><View Scope=\"RecursiveAll\"><ViewFields><FieldRef Name=\"Id\" /><FieldRef Name=\"Title\" /><FieldRef Name=\"Author\" /><FieldRef Name=\"Editor\" /></ViewFields><RowLimit>5</RowLimit></View></Property></Parameter></Parameters></Method></ObjectPaths></Request>"; CSOMRequest deserializedRequest = MockEntryResponseProvider.GetRequest(request); ObjectPathMethod getItemsMethod = deserializedRequest.ObjectPaths.Last() as ObjectPathMethod; Assert.AreEqual("{3d248d7b-fc86-40a3-aa97-02a75d69fb8a}", getItemsMethod.Parameters.First().TypeId); Assert.AreEqual(6, getItemsMethod.Parameters.First().Properties.Count); }
public virtual void AddToMockResponse(RequestExecutedArgs requestExecutedArgs) { if (requestExecutedArgs.RequestBody.Contains("GetUpdatedFormDigestInformation ")) { return; } CSOMRequest request = MockEntryResponseProvider.GetRequest(requestExecutedArgs.RequestBody); List <ActionObjectPath <object> > requestedOperations = MockEntryResponseProvider.GetActionObjectPathsFromRequest <object>(request); foreach (ActionObjectPath <object> requestedOperation in requestedOperations) { MockResponseEntry mockResponseEntry = requestedOperation.GenerateMock(requestExecutedArgs.ResponseBody, requestExecutedArgs.CalledUrl); if (mockResponseEntry != null && mockResponseEntry.SerializedReturnValue != "{\"IsNull\":false}") { Responses.Add(mockResponseEntry); } } }
public void ListItemProvider_Test_GetItems_MockResponse() { using (ClientContext context = new ClientContext("https://test.sharepoint.com/sites/test")) { MockEntryResponseProvider responseProvider = new MockEntryResponseProvider(); responseProvider.ResponseEntries.Add(new MockResponseEntry <object>() { Url = "https://test.sharepoint.com/sites/test", Method = "GetItems", ReturnValue = new { _ObjectType_ = "SP.ListItemCollection", _Child_Items_ = new List <object>() { new { _ObjectType_ = "SP.ListItem", Id = 1, Title = "Test Title 1", Modified = "/Date(1608850800000)/" }, new { _ObjectType_ = "SP.ListItem", Id = 2, Title = "Test Title 2", Modified = "/Date(1608850800000)/" } } } }); MockWebRequestExecutorFactory executorFactory = new MockWebRequestExecutorFactory(responseProvider); context.WebRequestExecutorFactory = executorFactory; IListItemProvider <MyTestListItem> provider = new ListItemProvider(context); var myItems = provider.GetMyItems(); Assert.AreEqual(1, myItems[0].Id); Assert.AreEqual("Test Title 1", myItems[0].Title); Assert.AreEqual(DateTime.Parse("12/24/2020 11:00:00 PM"), myItems[0].Modified); } }
public void MockEntryResponseProvider_ListItems_Test_AllItemsQuery() { MockEntryResponseProvider provider = new MockEntryResponseProvider(); provider.ResponseEntries.Add(itemsResponse); using (ClientContext context = new ClientContext(TestSiteUrl)) { context.WebRequestExecutorFactory = new MockWebRequestExecutorFactory(provider); List testList = context.Web.Lists.GetByTitle("Test List"); ListItemCollection listItems = testList.GetItems(CamlQuery.CreateAllItemsQuery()); context.Load(listItems); context.ExecuteQuery(); ListItem item = listItems[1]; Assert.AreEqual(item["Title"], "Test Item 2"); FieldLookupValue authorLkp = item["Author"] as FieldLookupValue; Assert.AreEqual(authorLkp.LookupId, 1073741823); Assert.AreEqual(authorLkp.LookupValue, "System Account"); } }
public void MockEntryResponseProvider_Web_Test_GetWeb() { MockEntryResponseProvider provider = new MockEntryResponseProvider(); provider.ResponseEntries.Add(new MockResponseEntry() { Url = TestSiteUrl, PropertyName = "Web", ReturnValue = new { Title = "Test Web", WelcomePage = "SitePages\u002fHome.aspx", Id = @"\/Guid(73131455-6953-4d5a-bc42-e5fb2db96a98)\/" } }); using (ClientContext context = new ClientContext(TestSiteUrl)) { context.WebRequestExecutorFactory = new MockWebRequestExecutorFactory(provider); context.Load(context.Web); context.ExecuteQuery(); Assert.AreEqual("Test Web", context.Web.Title); Assert.AreEqual("SitePages/Home.aspx", context.Web.WelcomePage); Assert.AreEqual(Guid.Parse("73131455-6953-4d5a-bc42-e5fb2db96a98"), context.Web.Id); } }
public void MockEntryResponseProvider_Web_Test_GetPermissionMask() { MockEntryResponseProvider provider = new MockEntryResponseProvider(); provider.ResponseEntries.Add(new MockResponseEntry() { Url = TestSiteUrl, Method = "GetUserEffectivePermissions", NameValueParameters = new Dictionary <string, string>() { { "User", "SP\\TestUser" } }, ReturnValue = new { _ObjectType_ = "SP.BasePermissions", High = 432, Low = 1011028583 } }); using (ClientContext context = new ClientContext(TestSiteUrl)) { context.WebRequestExecutorFactory = new MockWebRequestExecutorFactory(provider); ClientResult <BasePermissions> permissionMask = context.Web.GetUserEffectivePermissions("SP\\TestUser"); context.ExecuteQuery(); Assert.IsTrue(permissionMask.Value.Has(PermissionKind.EditListItems)); } }