public void GetUPNFromAccountTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation() { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are should work given cross domain with mapping KeepPageSpecificPermissions = true, // Replace User Mapping UserMappingFile = @"..\..\Transform\Mapping\usermapping_sample.csv" }; UserTransformator userTransformator = new UserTransformator(pti, sourceClientContext, targetClientContext, null); var result = userTransformator.SearchSourceDomainForUPN(AccountType.User, "test.user3"); Console.WriteLine(result); Assert.IsTrue(!string.IsNullOrEmpty(result)); } } }
public void GetUPNFromGroupWithSIDTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation() { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are should work given cross domain with mapping KeepPageSpecificPermissions = true, // Replace User Mapping UserMappingFile = @"..\..\Transform\Mapping\usermapping_sample.csv" }; UserTransformator userTransformator = new UserTransformator(pti, sourceClientContext, targetClientContext, null); // SharePoint-Readers (note specific to PBs test rig) var result = userTransformator.SearchSourceDomainForUPN(AccountType.Group, "s-1-5-21-2364077317-3999105188-691961326-1129"); Console.WriteLine(result); Assert.IsTrue(!string.IsNullOrEmpty(result)); } } }
public void OnPremPageLayout_AnalyzeByPages_Test() { using (var context = TestCommon.CreateOnPremisesClientContext()) { var pages = context.Web.GetPagesFromList("Pages", pageNameStartsWith: "Article-2010-Taxonomy.aspx"); var analyzer = new PageLayoutAnalyser(context); int errorCount = 0; foreach (var page in pages) { try { analyzer.AnalysePageLayoutFromPublishingPage(page); } catch (Exception ex) { Console.WriteLine("Error {0} {1}", ex.Message, ex.StackTrace); errorCount++; } } Console.WriteLine("Error Count {0}", errorCount); Assert.IsTrue((errorCount == 0)); analyzer.GenerateMappingFile("c:\\temp", "onprem-mapping-test-taxonomy.xml"); } }
public void PrincipalAccountTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation() { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are should work given cross domain with mapping KeepPageSpecificPermissions = true, SourceVersion = SPVersion.SP2010 //example only }; UserTransformator userTransformator = new UserTransformator(pti, sourceClientContext, targetClientContext, null); var result = userTransformator.RemapPrincipal("test.user3"); Console.WriteLine(result); Assert.IsTrue(!string.IsNullOrEmpty(result)); } } }
public void BasePage_ExtractWebPartDocumentViaWebServicesFromPageTest() { string url = "http://portal2010/pages/article-2010-custom.aspx"; //string url = "/pages/article-2010-custom.aspx"; using (var context = TestCommon.CreateOnPremisesClientContext()) { var pages = context.Web.GetPagesFromList("Pages", "Article-2010-Custom"); foreach (var page in pages) { page.EnsureProperty(p => p.File); List <string> search = new List <string>() { "WebPartZone" }; //Should be one TestBasePage testBase = new TestBasePage(page, page.File, null, null); var result = testBase.ExtractWebPartDocumentViaWebServicesFromPage(url); Assert.IsTrue(result.Item1.Length > 0); Assert.IsTrue(result.Item2.Length > 0); break; } } }
public void BasePage_ExtractWebPartPropertiesViaWebServicesFromPageTest() { string url = "/sites/teamsite/SitePages/WPP-2010-Quantum.aspx"; //string url = "/pages/article-2010-custom.aspx"; using (var context = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremTeamSiteUrl"))) { var pages = context.Web.GetPages("WPP-2010-Quantum"); pages.FailTestIfZero(); foreach (var page in pages) { page.EnsureProperty(p => p.File); List <string> search = new List <string>() { "WebPartZone" }; //Should be one TestBasePage testBase = new TestBasePage(page, page.File, null, null); var result = testBase.ExtractWebPartPropertiesViaWebServicesFromPage(url); Assert.IsTrue(result.Length > 0); break; } } }
public void BasePage_LoadWebPartDocumentViaWebServicesTest() { //string url = "http://portal2010/pages/article-2010-custom.aspx"; //string url = "/pages/article-2010-custom.aspx"; //string url = "/pages/article-2010-custom.aspx"; string url = "/pages/welcome-2013.aspx"; using (var context = TestCommon.CreateOnPremisesClientContext()) { var pages = context.Web.GetPagesFromList("Pages", "Article-2010-Custom-Test2"); foreach (var page in pages) { page.EnsureProperty(p => p.File); List <string> search = new List <string>() { "WebPartZone" }; //Should be one TestBasePage testBase = new TestBasePage(page, page.File, null, null); var result = testBase.LoadPublishingPageFromWebServices(url); Assert.IsTrue(result.Count > 0); } } }
public void BasePage_LoadWebPartPropertiesViaWebServicesTest() { string url = "/sites/teamsite/SitePages/WPP-2010-Quantum.aspx"; using (var context = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremTeamSiteUrl"))) { var pages = context.Web.GetPages("WPP-2010-Quantum"); pages.FailTestIfZero(); foreach (var page in pages) { page.EnsureProperty(p => p.File); List <string> search = new List <string>() { "WebPartZone" }; //Should be one TestBasePage testBase = new TestBasePage(page, page.File, null, null); var result = testBase.LoadWebPartPropertiesFromWebServices(url); break; //TODO: Finish Test } } }
public void GetUPNFromAccountWithCustomLDAPPositiveTest() { var ldap = "LDAP://OU=CDT,OU=Demo Users,DC=AlphaDelta,DC=Local"; using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation() { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are should work given cross domain with mapping KeepPageSpecificPermissions = true, LDAPConnectionString = ldap }; UserTransformator userTransformator = new UserTransformator(pti, sourceClientContext, targetClientContext, null); var result = userTransformator.SearchSourceDomainForUPN(AccountType.User, "Cara.Irvine"); //User Outside of LDAP Connection String Console.WriteLine(result); Assert.IsTrue(!string.IsNullOrEmpty(result)); } } }
public void AssetTransfer_TransferAsset_OnPrem_Large_Test() { //Note: This is more of a system test rather than unit given its dependency on SharePoint using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { // Needs valid client contexts as they are part of the checks. AssetTransfer assetTransfer = new AssetTransfer(sourceClientContext, targetClientContext); var targetWebUrl = targetClientContext.Web.EnsureProperty(o => o.ServerRelativeUrl); var sourceWebUrl = sourceClientContext.Web.EnsureProperty(o => o.ServerRelativeUrl); var sourceFile = "shutterstock_171790418.jpg"; // Very crude test - ensure the site is setup for this ahead of the test var sourceFileServerRelativeUrl = $"{sourceWebUrl}PublishingImages/{sourceFile}"; var targetLocation = $"{targetWebUrl}/Shared%20Documents"; //Shared Documents for example, Site Assets may not exist on vanilla sites var result = assetTransfer.TransferAsset(sourceFileServerRelativeUrl, "This is a unit test page.aspx"); //Page shouldnt need to exist at this point var expected = $"{targetWebUrl}/SiteAssets/SitePages/This-is-a-unit-test-page/{sourceFile}"; Assert.AreEqual(expected, result); } } }
public void BasePage_ExportWebPartByWorkaround() { //string url = "http://portal2010/pages/article-2010-custom.aspx"; string url = "/pages/article-2010-custom-test2.aspx"; //string url = "/pages/article-2010-custom.aspx"; using (var context = TestCommon.CreateOnPremisesClientContext()) { var pages = context.Web.GetPagesFromList("Pages", "Article-2010-Custom-Test2"); foreach (var page in pages) { page.EnsureProperty(p => p.File); //Should be one TestBasePage testBase = new TestBasePage(page, page.File, null, null); var webPartEntities = testBase.LoadPublishingPageFromWebServices(url); foreach (var webPart in webPartEntities) { var result = testBase.ExportWebPartXmlWorkaround(url, webPart.Id.ToString()); Assert.IsTrue(!string.IsNullOrEmpty(result)); } } } }
private void TestGetListByName(string listName) { using (var context = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremDevSiteUrl"))) { var list = context.Web.GetListByName(listName); Assert.IsNotNull(list); } }
public void BasicOnPremPublishingPageUserMappingDefaultTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { //"C:\github\sp-dev-modernization\Tools\SharePoint.Modernization\SharePointPnP.Modernization.Framework.Tests\Transform\Publishing\custompagelayoutmapping.xml" //"C:\temp\onprem-mapping-all-test.xml.xml" var pageTransformator = new PublishingPageTransformator(sourceClientContext, targetClientContext, @"C:\temp\onprem-mapping-all-test.xml"); pageTransformator.RegisterObserver(new MarkdownObserver(folder: "c:\\temp", includeVerbose: true, includeDebugEntries: true)); pageTransformator.RegisterObserver(new UnitTestLogObserver()); //var pages = sourceClientContext.Web.GetPagesFromList("Pages", "Article-2010-Custom"); //var pages = sourceClientContext.Web.GetPagesFromList("Pages", "ArticlePage-2010-Multiple"); //var pages = sourceClientContext.Web.GetPagesFromList("Pages", "Article-2010-Custom-Test3"); //var pages = sourceClientContext.Web.GetPagesFromList("Pages", folder:"News"); //var pages = sourceClientContext.Web.GetPagesFromList("Pages", "Welcome-2013Legacy"); var pages = sourceClientContext.Web.GetPagesFromList("Pages", "Article-Permissions"); pages.FailTestIfZero(); try { foreach (var page in pages) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page) { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are should work given cross domain with mapping KeepPageSpecificPermissions = true, KeepPageCreationModificationInformation = true }; Console.WriteLine("SharePoint Version: {0}", pti.SourceVersion); pti.MappingProperties["SummaryLinksToQuickLinks"] = "true"; pti.MappingProperties["UseCommunityScriptEditor"] = "true"; var result = pageTransformator.Transform(pti); } pageTransformator.FlushObservers(); } catch { pageTransformator.FlushObservers(); Assert.Fail("Exception occurred"); } } } }
public void BasicOnPremPublishingPageTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { //"C:\github\sp-dev-modernization\Tools\SharePoint.Modernization\SharePointPnP.Modernization.Framework.Tests\Transform\Publishing\custompagelayoutmapping.xml" //"C:\temp\onprem-mapping-all-test.xml.xml" var pageTransformator = new PublishingPageTransformator(sourceClientContext, targetClientContext, @"C:\temp\onprem-mapping-all-test.xml"); pageTransformator.RegisterObserver(new MarkdownObserver(folder: "c:\\temp", includeVerbose: true)); pageTransformator.RegisterObserver(new UnitTestLogObserver()); var pages = sourceClientContext.Web.GetPagesFromList("Pages", "Article-SP"); //var pages = sourceClientContext.Web.GetPagesFromList("Pages", folder:"News"); foreach (var page in pages) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page) { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are unlikely to work given cross domain KeepPageSpecificPermissions = false, //RemoveEmptySectionsAndColumns = false, // Configure the page header, empty value means ClientSidePageHeaderType.None //PageHeader = new ClientSidePageHeader(cc, ClientSidePageHeaderType.None, null), // Replace embedded images and iframes with a placeholder and add respective images and video web parts at the bottom of the page // HandleWikiImagesAndVideos = false, // Callout to your custom code to allow for title overriding //PageTitleOverride = titleOverride, // Callout to your custom layout handler //LayoutTransformatorOverride = layoutOverride, // Callout to your custom content transformator...in case you fully want replace the model //ContentTransformatorOverride = contentOverride, }; pti.MappingProperties["SummaryLinksToQuickLinks"] = "true"; pti.MappingProperties["UseCommunityScriptEditor"] = "true"; var result = pageTransformator.Transform(pti); } pageTransformator.FlushObservers(); } } }
public void OnPremPageLayout_AnalyseAll_Test() { using (var context = TestCommon.CreateOnPremisesClientContext()) { var analyzer = new PageLayoutAnalyser(context); analyzer.AnalyseAll(); analyzer.GenerateMappingFile("c:\\temp", "onprem-mapping-all-test.xml"); } }
public void ContextSPOnPremises_BasicTest() { using (var clientContext = TestCommon.CreateOnPremisesClientContext()) { var web = clientContext.Web; var title = web.EnsureProperty(o => o.Title); Console.WriteLine(title); Assert.IsTrue(!string.IsNullOrEmpty(title)); } }
public void OnPremises_WebExtensions_GetSitePages() { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremTeamSiteUrl"))) { var result = sourceClientContext.Web.GetSitePagesLibrary(); Assert.IsNotNull(result); Assert.AreNotEqual(default(List), result); } }
public void BasicOnPremWikiPage_TermMappingPathsOnlyTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremTeamSiteUrl"))) { var pageTransformator = new PageTransformator(sourceClientContext, targetClientContext); //pageTransformator.RegisterObserver(new MarkdownObserver(folder: "c:\\temp", includeVerbose: true)); pageTransformator.RegisterObserver(new UnitTestLogObserver()); //SP2010 var pages = sourceClientContext.Web.GetPagesFromList("Site Pages", pageNameStartsWith: "WKP-2010-Quantum"); pages.FailTestIfZero(); foreach (var page in pages) { PageTransformationInformation pti = new PageTransformationInformation(page) { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are unlikely to work given cross domain KeepPageSpecificPermissions = false, // Term store mapping TermMappingFile = @"..\..\Transform\Mapping\term_mapping_paths_sample.csv", //Should process default mapping SkipTermStoreMapping = false, CopyPageMetadata = true }; Console.WriteLine("SharePoint Version: {0}", pti.SourceVersion); pti.MappingProperties["SummaryLinksToQuickLinks"] = "true"; pti.MappingProperties["UseCommunityScriptEditor"] = "true"; var result = pageTransformator.Transform(pti); } pageTransformator.FlushObservers(); } } }
public void BasicOnPremPublishingPage_TermMappingTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { var pageTransformator = new PublishingPageTransformator(sourceClientContext, targetClientContext, @"C:\temp\onprem-mapping-all-test.xml"); //pageTransformator.RegisterObserver(new MarkdownObserver(folder: "c:\\temp", includeVerbose: true)); pageTransformator.RegisterObserver(new UnitTestLogObserver(true)); //2013 var pages = sourceClientContext.Web.GetPagesFromList("Pages", folder: "News", pageNameStartsWith: "Our-new-IT-suite-is-mint"); //2010 //var pages = sourceClientContext.Web.GetPagesFromList("Pages", pageNameStartsWith: "Article-2010-Taxonomy"); pages.FailTestIfZero(); foreach (var page in pages) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page) { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are unlikely to work given cross domain KeepPageSpecificPermissions = false, // Term store mapping TermMappingFile = @"..\..\Transform\Mapping\term_mapping_sample.csv" }; Console.WriteLine("SharePoint Version: {0}", pti.SourceVersion); pti.MappingProperties["SummaryLinksToQuickLinks"] = "true"; pti.MappingProperties["UseCommunityScriptEditor"] = "true"; var result = pageTransformator.Transform(pti); } pageTransformator.FlushObservers(); } } }
public void WebServiceFallBackGetTermSetTest() { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremTeamSiteUrl"))) { var sspId = "bf53dc87-0092-47bf-8463-ee69cde66b93"; var termSetId = "5e8a3614-8777-4eb0-9890-e3a6ac466396"; //SP2010 // Need to have the term store populated values // Announcements var results = TermTransformator.CallTaxonomyWebServiceFindTermSetId(sourceClientContext, new Guid(sspId), new Guid(termSetId)); foreach (var result in results) { Console.WriteLine("{0} - {1}", result.Key, result.Value.TermPath); } Assert.IsTrue(results != default); Assert.IsTrue(results.Count > 0); } }
/// <summary> /// Different page same test conditions /// </summary> /// <param name="pageName"></param> private void PageToTransform(string pageName) { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext(TestCommon.AppSetting("SPOnPremTeamSiteUrl"))) { var pageTransformator = new PageTransformator(sourceClientContext, targetClientContext); pageTransformator.RegisterObserver(new MarkdownObserver(folder: "c:\\temp", includeVerbose: true)); pageTransformator.RegisterObserver(new UnitTestLogObserver()); var pages = sourceClientContext.Web.GetPages(pageName); pages.FailTestIfZero(); foreach (var page in pages) { PageTransformationInformation pti = new PageTransformationInformation(page) { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are unlikely to work given cross domain KeepPageSpecificPermissions = false, }; pti.MappingProperties["SummaryLinksToQuickLinks"] = "true"; pti.MappingProperties["UseCommunityScriptEditor"] = "true"; var result = pageTransformator.Transform(pti); } pageTransformator.FlushObservers(); //TODO: Add Target Site Page Creation Checking } } }
public void GetComputerDomainTest() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { //Doesnt matter what the settings are. PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation() { // Don't log test runs SkipTelemetry = true, }; UserTransformator userTransformator = new UserTransformator(pti, sourceClientContext, targetClientContext, null); var result = userTransformator.GetFriendlyComputerDomain(); Console.WriteLine(result); Assert.IsTrue(!string.IsNullOrEmpty(result)); } } }
public void TermMappingTransformatorTest_PassThrough() { using (var targetClientContext = TestCommon.CreateClientContext(TestCommon.AppSetting("SPOTargetSiteUrl"))) { using (var sourceClientContext = TestCommon.CreateOnPremisesClientContext()) { PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation() { // If target page exists, then overwrite it Overwrite = true, // Don't log test runs SkipTelemetry = true, //Permissions are should work given cross domain with mapping KeepPageSpecificPermissions = true, // Term store mapping TermMappingFile = string.Empty, SkipTermStoreMapping = false }; TermTransformator termTransformator = new TermTransformator(pti, sourceClientContext, targetClientContext, null); var inputLabel = "pass-through-test"; var inputGuid = Guid.NewGuid(); var result = termTransformator.Transform(new Entities.TermData() { TermGuid = inputGuid, TermLabel = inputLabel }); Console.WriteLine(inputLabel + " and " + inputGuid); Assert.AreEqual(inputLabel, result.TermLabel); Assert.AreEqual(inputGuid, result.TermGuid); } } }