public void UpdatesViewFromXmlDefinition() { var wpXml = $@" <webParts> <webPart xmlns=""http://schemas.microsoft.com/WebPart/v3""> <metaData> <type name=""Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"" /> <importErrorMessage>Cannot import this Web Part.</importErrorMessage> </metaData> <data> <properties> <property name=""ListUrl"" type=""string"">{TestListUrl}</property> <property name=""XmlDefinition"" type=""string""><![CDATA[ <View Type=""HTML"" Name=""Unknown view name"" BaseViewID=""1""> {ViewXml} </View>]]></property> </properties> </data> </webPart> </webParts>"; TestCommon.RegisterPnPHttpClientMock(); using (var clientContext = TestCommon.CreateTestClientContext()) { CoreTest(wpXml, clientContext); } }
public void DeployRetractAppTest() { TestCommon.RegisterPnPHttpClientMock(); using (var clientContext = TestCommon.CreateTestClientContext()) { AppManager manager = new AppManager(clientContext); var appBytes = Resources.almskip; var results = manager.Add(appBytes, $"appalmskip-{appGuid}.sppkg", true); var deployResults = manager.Deploy(results.Id); Assert.IsTrue(deployResults); var metadata = manager.GetAvailable(results.Id); Assert.IsTrue(metadata.Deployed); var retractResults = manager.Retract(results.Id); Assert.IsTrue(retractResults); metadata = manager.GetAvailable(results.Id); Assert.IsFalse(metadata.Deployed); manager.Remove(results.Id); } }
public void AddCheckRemoveAppTest() { TestCommon.RegisterPnPHttpClientMock(); using (var clientContext = TestCommon.CreateTestClientContext()) { AppManager manager = new AppManager(clientContext); var appBytes = Resources.alm; //Test adding app var addedApp = manager.Add(appBytes, $"app-{appGuid}.sppkg", true); Assert.IsNotNull(addedApp); //Test availability of apps var availableApps = manager.GetAvailable(); Assert.IsNotNull(availableApps); CollectionAssert.Contains(availableApps.Select(app => app.Id).ToList(), addedApp.Id); var retrievedApp = manager.GetAvailable(addedApp.Id); Assert.AreEqual(addedApp.Id, retrievedApp.Id); //Test removal var removeResults = manager.Remove(addedApp.Id); Assert.IsTrue(removeResults); } }
public void ThrowsInvalidSchemaXmlException() { var wpXml = $@" <webParts> <webPart xmlns=""http://schemas.microsoft.com/WebPart/v3""> <metaData> <type name=""Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"" /> <importErrorMessage>Cannot import this Web Part.</importErrorMessage> </metaData> <data> <properties> <property name=""ListUrl"" type=""string"">{TestListUrl}</property> <property name=""XmlDefinition"" type=""string""><![CDATA[ {ViewXml}]]></property> </properties> </data> </webPart> </webParts>"; try { TestCommon.RegisterPnPHttpClientMock(); using (var clientContext = TestCommon.CreateTestClientContext()) { CoreTest(wpXml, clientContext); } } catch (Exception ex) { Assert.IsTrue(ex is ServerException); } }
public void GetGroupInfoTest() { using (var context = TestCommon.CreateTestClientContext()) { PnP.Framework.Sites.SiteCollection.GetGroupInfoAsync(context, "demo1").GetAwaiter().GetResult(); } }
public void UpdatesViewFromChildWebListView() { Web childWeb = null; TestCommon.RegisterPnPHttpClientMock(); using (var ctx = TestCommon.CreateTestClientContext()) { try { childWeb = CreateTestTeamSubSite(ctx.Web); childWeb.EnsureProperty(w => w.Id); var docsList = childWeb.GetListByUrl(TestListUrl); docsList.EnsureProperties(l => l.Id); var wpXml = $@"<webParts> <webPart xmlns=""http://schemas.microsoft.com/WebPart/v3""> <metaData> <type name=""Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"" /> <importErrorMessage>Cannot import this Web Part.</importErrorMessage> </metaData> <data> <properties> <property name=""ListId"" type=""System.Guid, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089"">{docsList.Id}</property> <property name=""WebId"" type=""System.Guid, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089"">{childWeb.Id}</property> <property name=""XmlDefinition"" type=""string""><![CDATA[ <View Type=""HTML"" Name=""Unknown view name"" BaseViewID=""1""> {ViewXml} </View>]]></property> </properties> </data> </webPart> </webParts>"; var webParts = CreateBasicWebPart(wpXml); var file = GetFile(ctx); var wpDefinition = AddWebPart(file, wpXml); var xsltPostProcessor = new XsltWebPartPostProcessor(webParts.WebPart); xsltPostProcessor.Process(wpDefinition, file); var view = childWeb.GetListByUrl(TestListUrl).GetViewById(wpDefinition.Id); AssertViewIsValid(view); } finally { if (childWeb != null && childWeb.Context != null) { childWeb.DeleteObject(); childWeb.Context.ExecuteQueryRetry(); childWeb.Context.Dispose(); } } } }
public static void AfterAll() { TestCommon.RegisterPnPHttpClientMock(); using (var ctx = TestCommon.CreateTestClientContext()) { var docsList = ctx.Web.GetListByUrl(TestListUrl); var view = docsList.Views.GetByTitle(ViewName); ctx.Load(view); view.DeleteObject(); ctx.ExecuteQueryRetry(); } }
public void Cleanup() { using (var ctx = TestCommon.CreateTestClientContext()) { ctx.Load(ctx.Web, w => w.ServerRelativeUrl); ctx.ExecuteQueryRetry(); TestCommon.DeleteFile(ctx, UrlUtility.Combine(ctx.Web.ServerRelativeUrl, "/SitePages/csp-test-1.aspx")); TestCommon.DeleteFile(ctx, UrlUtility.Combine(ctx.Web.ServerRelativeUrl, "/SitePages/csp-test-2.aspx")); TestCommon.DeleteFile(ctx, UrlUtility.Combine(ctx.Web.ServerRelativeUrl, "/SitePages/csp-test-3.aspx")); } }
public void Initialize() { if (TestCommon.AppOnlyTesting()) { Assert.Inconclusive("Test that require modern site collection creation are not supported in app-only."); } using (var clientContext = TestCommon.CreateTestClientContext()) { communicationSiteGuid = Guid.NewGuid().ToString("N"); teamSiteGuid = Guid.NewGuid().ToString("N"); var baseUri = new Uri(clientContext.Url); baseUrl = $"{baseUri.Scheme}://{baseUri.Host}:{baseUri.Port}"; } }
public async Task CreateCommunicationSiteTestAsync() { using (var clientContext = TestCommon.CreateTestClientContext()) { var commResults = await clientContext.CreateSiteAsync(new PnP.Framework.Sites.CommunicationSiteCollectionCreationInformation() { Url = $"{baseUrl}/sites/site{communicationSiteGuid}", SiteDesign = PnP.Framework.Sites.CommunicationSiteDesign.Blank, Title = "Comm Site Test", Lcid = 1033 }); Assert.IsNotNull(commResults); } }
public void CleanUp() { TestCommon.RegisterPnPHttpClientMock(); using (var ctx = TestCommon.CreateTestClientContext()) { ctx.Web.EnsureProperties(w => w.ServerRelativeUrl); if (ctx.Web.RootFolder.FolderExists(folder)) { var serverFolder = ctx.Web.GetFolderByServerRelativeUrl(UrlUtility.Combine(ctx.Web.ServerRelativeUrl, folder)); serverFolder.DeleteObject(); ctx.ExecuteQueryRetry(); } } }
public void ProvisionClientSidePagesWithHeader() { var resourceFolder = string.Format(@"{0}\Resources\Templates", AppDomain.CurrentDomain.BaseDirectory); XMLTemplateProvider provider = new XMLFileSystemTemplateProvider(resourceFolder, ""); var existingTemplate = provider.GetTemplate("ClientSidePagesWithHeader.xml"); using (var ctx = TestCommon.CreateTestClientContext()) { ctx.Web.ApplyProvisioningTemplate(existingTemplate, new ProvisioningTemplateApplyingInformation() { HandlersToProcess = Handlers.Pages }); } }
public async Task CreateTeamNoGroupSiteTestAsync() { using (var clientContext = TestCommon.CreateTestClientContext()) { var teamNoGroupSiteResult = await clientContext.CreateSiteAsync(new PnP.Framework.Sites.TeamNoGroupSiteCollectionCreationInformation() { Url = $"{baseUrl}/sites/site{teamSiteGuid}", Title = "Team no group Site Test", Description = "Site description", Lcid = 1033 }); Assert.IsNotNull(teamNoGroupSiteResult); } }
public void Initialize() { TestCommon.RegisterPnPHttpClientMock(); using (var ctx = TestCommon.CreateTestClientContext()) { var resourceFolder = $@"{AppDomain.CurrentDomain.BaseDirectory}\..\..\..\Resources"; var template = new ProvisioningTemplate(); var fileSystemConnector = new FileSystemConnector(resourceFolder, string.Empty); template.Connector = fileSystemConnector; template.Files.Add(new PnP.Framework.Provisioning.Model.File { Overwrite = true, Src = testPage, Folder = folder }); var parser = new TokenParser(ctx.Web, template); new ObjectFiles().ProvisionObjects(ctx.Web, template, parser, new ProvisioningTemplateApplyingInformation()); } }
public static void BeforeAll(TestContext testContext) { TestCommon.RegisterPnPHttpClientMock(); using (var ctx = TestCommon.CreateTestClientContext()) { var docsList = ctx.Web.GetListByUrl(TestListUrl); docsList.EnsureProperties(d => d.Id); var newView = docsList.Views.Add(new ViewCreationInformation { Title = ViewName }); newView.ListViewXml = ViewXml; newView.Update(); newView.EnsureProperties(v => v.Id); ctx.ExecuteQueryRetry(); _viewId = newView.Id; _docsListId = docsList.Id; } }
public void UpdatesViewFromViewNameUsingListDisplayNameProperty() { var wpXml = $@" <webParts> <webPart xmlns=""http://schemas.microsoft.com/WebPart/v3""> <metaData> <type name=""Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"" /> <importErrorMessage>Cannot import this Web Part.</importErrorMessage> </metaData> <data> <properties> <property name=""ListDisplayName"" type=""string"">{ListTitle}</property> <property name=""ViewName"" type=""string"">{ViewName}</property> </properties> </data> </webPart> </webParts>"; TestCommon.RegisterPnPHttpClientMock(); using (var clientContext = TestCommon.CreateTestClientContext()) { CoreTest(wpXml, clientContext); } }
public void ObjectListInstance_ProvisionObjects() { ObjectListInstance handler = new ObjectListInstance(FieldAndListProvisioningStepHelper.Step.ListAndStandardFields); ProvisioningTemplate template = new ProvisioningTemplate(); string listName = "PnP Unit Test List"; var listInstance = new ListInstance { Url = string.Format("lists/{0}", listName), Title = listName, TemplateType = (int)ListTemplateType.GenericList }; listInstance.FieldRefs.Add(new FieldRef() { Id = new Guid("23f27201-bee3-471e-b2e7-b64fd8b7ca38") }); template.Lists.Add(listInstance); using (var ctx = TestCommon.CreateTestClientContext(false)) { TokenParser parser = new TokenParser(ctx.Web, template); handler.ProvisionObjects(ctx.Web, template, parser, null); } }