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\">&lt;View Scope=\"RecursiveAll\"&gt;&lt;ViewFields&gt;&lt;FieldRef Name=\"Id\" /&gt;&lt;FieldRef Name=\"Title\" /&gt;&lt;FieldRef Name=\"Author\" /&gt;&lt;FieldRef Name=\"Editor\" /&gt;&lt;/ViewFields&gt;&lt;RowLimit&gt;5&lt;/RowLimit&gt;&lt;/View&gt;</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);
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #7
0
        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));
            }
        }