public void ctor_ValidStackBuilt() { //Arrange BSPSite site = new BSPSite(); BSPWeb web = site.SetRootWeb(); web.ServerRelativeUrl = "foo/bar"; BSPList list = web.Lists.SetOne(); list.Title = ConfigurationList.ConfigListName; web.ID = TestsConstants.TestGuid; site.ID = new Guid("{7C039254-10B7-49F0-AA8D-F592206C7130}"); var moleWeb = new Microsoft.SharePoint.Moles.MSPWeb(web); moleWeb.GetListString = (listUrl) => { if (listUrl == "foo/bar/Lists/" + ConfigurationList.ConfigListName) { return(list); } return(null); }; //Act var stack = new SandboxWithProxyPropertyBagHierarchy(web); //Assert Assert.IsTrue(stack.PropertyBags.Count() == 4); Assert.IsInstanceOfType(stack.PropertyBags.First(), typeof(SPWebPropertyBag)); Assert.IsInstanceOfType(stack.PropertyBags.Skip(1).First(), typeof(SPSitePropertyBag)); Assert.IsInstanceOfType(stack.PropertyBags.Skip(2).First(), typeof(SandboxWebAppPropertyBag)); Assert.IsInstanceOfType(stack.PropertyBags.Skip(3).First(), typeof(SandboxFarmPropertyBag)); }
public static IPropertyBagHierarchy GetHierarchy(SPWeb web) { IPropertyBagHierarchy hierarchyStack = null; if (SharePointEnvironment.InSandbox) { if (web == null && SharePointEnvironment.CanAccessFarmConfig) { return(new SandboxFarmPropertyBagHierarchy()); } Validation.ArgumentNotNull(web, "web"); if (SharePointEnvironment.CanAccessFarmConfig) { hierarchyStack = new SandboxWithProxyPropertyBagHierarchy(web); } else { hierarchyStack = new SandboxPropertyBagHierarchy(web); } } else { if (web != null) { hierarchyStack = new FullTrustPropertyBagHierarchy(web); } else { hierarchyStack = GetFarmHierarchy(); } } return(hierarchyStack); }