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));
        }
Пример #2
0
        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);
        }