Repository
AdminRepositoryGetHierarchyTest.cs
using FeatureAdmin3.Repository;
using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
namespace FeatureAdmin.Test.Repository
{
///
/// For SharePoint tests, make sure, you run in 64bit mode - Test - Test Settings - Default Processor Architecture - X64
///
public clast AdminRepositoryGetHierarchyTest
{
private FeatureRepository repository;
private Guid webAppId;
private Guid siCoActivatedId;
private Guid siCoActivatedRootWebId;
private Guid siCoActivatedSubWebActivatedId;
private Guid siCoActivatedSubWebInactiveId;
private Guid siCoInactiveId;
private Guid siCoInactiveRootWebId;
private Guid siCoInactiveSubWebActivatedId;
private Guid siCoInactiveSubWebInactiveId;
public AdminRepositoryGetHierarchyTest()
{
// Arrange
repository = new FeatureRepository();
// SiCo Activated
using (SPSite site = new SPSite(TestContent.SharePointContainers.SiCoActivated.Url))
{
siCoActivatedId = site.ID;
webAppId = site.WebApplication.Id;
// RootWeb
using (SPWeb web = site.OpenWeb())
{
siCoActivatedRootWebId = web.ID;
}
// SiCoActivatedSubWebActivated
using (SPWeb web = site.OpenWeb(TestContent.SharePointContainers.SiCoActivated.SubWebActivated.UrlRelative))
{
siCoActivatedSubWebActivatedId = web.ID;
}
// SiCoActivatedSubWebInactive
using (SPWeb web = site.OpenWeb(TestContent.SharePointContainers.SiCoActivated.SubWebInactive.UrlRelative))
{
siCoActivatedSubWebInactiveId = web.ID;
}
}
// SiCo Inactive
using (SPSite site = new SPSite(TestContent.SharePointContainers.SiCoInActive.Url))
{
siCoInactiveId = site.ID;
// RootWeb
using (SPWeb web = site.OpenWeb())
{
siCoInactiveRootWebId = web.ID;
}
// SiCoInactiveSubWebActivated
using (SPWeb web = site.OpenWeb(TestContent.SharePointContainers.SiCoInActive.SubWebActivated.UrlRelative))
{
siCoInactiveSubWebActivatedId = web.ID;
}
// SiCoInactiveSubWebInactive
using (SPWeb web = site.OpenWeb(TestContent.SharePointContainers.SiCoInActive.SubWebInactive.UrlRelative))
{
siCoInactiveSubWebInactiveId = web.ID;
}
}
}
[Fact]
public void ReceiveWebAppsContainsTestWebApp()
{
//Act
var webApps = repository.GetSharePointWebApplications();
var webApp = webApps.FirstOrDefault(w => w.Id == webAppId);
//astert
astert.NotNull(webApp);
astert.Equal(TestContent.SharePointContainers.WebApplication.Url, webApp.Url);
}
//[Fact]
//public void TestWebAppChildrenContainSiCos()
//{
// //Act
// var sites = repository.GetSharePointChildHierarchy(webAppId);
// var siteActivated = sites.FirstOrDefault(s => s.Id == siCoActivatedId);
// var siteInactive = sites.FirstOrDefault(s => s.Id == siCoInactiveId);
// //astert
// astert.NotNull(siteActivated);
// astert.Equal(TestContent.SharePointContainers.SiCoActivated.Url, siteActivated.Url);
// astert.NotNull(siteInactive);
// astert.Equal(TestContent.SharePointContainers.SiCoInActive.Url, siteInactive.Url);
//}
//[Fact]
//public void TestSiCoChildrenContainWebs()
//{
// //Act
// var webs = repository.GetSharePointChildHierarchy(siCoActivatedId);
// var wActivated = webs.FirstOrDefault(s => s.Id == siCoActivatedSubWebActivatedId);
// var wInactive = webs.FirstOrDefault(s => s.Id == siCoActivatedSubWebInactiveId);
// //astert
// astert.Equal(3, webs.Count);
// astert.NotNull(wActivated);
// astert.Equal(TestContent.SharePointContainers.SiCoActivated.SubWebActivated.Url, wActivated.Url);
// astert.NotNull(wInactive);
// astert.Equal(TestContent.SharePointContainers.SiCoActivated.SubWebInactive.Url, wInactive.Url);
//}
}
}