Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
 public void GetGroupInfoTest()
 {
     using (var context = TestCommon.CreateTestClientContext())
     {
         PnP.Framework.Sites.SiteCollection.GetGroupInfoAsync(context, "demo1").GetAwaiter().GetResult();
     }
 }
Ejemplo n.º 6
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 7
0
 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);
            }
        }
Ejemplo n.º 11
0
        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);
            }
        }
Ejemplo n.º 14
0
 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());
     }
 }
Ejemplo n.º 15
0
 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;
     }
 }
Ejemplo n.º 16
0
        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);
            }
        }