public void GetCurrent_CustomServiceLocatorReloadsSiteOnChange() { //Arrange var f = new BSPConfiguredFarm();; var sharepointLocator = new TestableSharePointServiceLocator(); //Arrange BIServiceLocatorFactory.Reset(); BIServiceLocatorFactory.LocatorTypeToUse = typeof(FakeLocator); var farmTypeMappings = new List <TypeMapping> { TypeMapping.Create <IServiceLocatorFactory, BIServiceLocatorFactory>() }; sharepointLocator.FarmTypeMappings = farmTypeMappings; var expectedSite = new BSPSite(); var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; expectedSite.ID = TestsConstants.TestGuid; var time = new DateTime(2010, 5, 30); sharepointLocator.SiteTypeMappings = typeMappings; MDateTime.NowGet = () => time; var target = sharepointLocator.GetCurrent(expectedSite); // get current to make sure it is in memory time = time.AddSeconds(SharePointServiceLocator.SiteCachingTimeoutInSeconds + 1); sharepointLocator.SiteLastUpdatedRetVal = time; //Act var targetLogger = sharepointLocator.GetCurrent(expectedSite).GetInstance <ILogger>(); //Assert Assert.IsTrue(BIServiceLocatorFactory.LoadCount == 2); }
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 void GetCurrent_SiteUsesCachedInstance() { //Setup var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; BSPFarm.SetLocal(); var expectedSite = new BSPSite { ID = TestsConstants.TestGuid }; var sharepointLocator = new TestableSharePointServiceLocator(); sharepointLocator.FarmTypeMappings = new List <TypeMapping>(); sharepointLocator.SiteTypeMappings = typeMappings; sharepointLocator.SiteLastUpdatedRetVal = DateTime.Now; var target = sharepointLocator.GetCurrent(expectedSite); // get current to make sure it is in memory Assert.IsTrue(sharepointLocator.SiteGotTypeMappingsFromConfig); //getting from config and populating cache sharepointLocator.SiteGotTypeMappingsFromConfig = false; // reset getting config... //Act sharepointLocator.GetCurrent(expectedSite); //Assert Assert.IsFalse(sharepointLocator.SiteGotTypeMappingsFromConfig); }
public void GetCurrent_SiteTimeoutReloadDoesntDropProgrammaticOverride() { //Setup var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; BSPFarm.SetLocal(); var expectedSite = new BSPSite { ID = TestsConstants.TestGuid }; var time = new DateTime(2010, 5, 30); var sharepointLocator = new TestableSharePointServiceLocator { FarmTypeMappings = new List <TypeMapping>(), SiteTypeMappings = typeMappings }; MDateTime.NowGet = () => time; var target = sharepointLocator.GetCurrent(expectedSite); // get current to make sure it is in memory time = time.AddSeconds(SharePointServiceLocator.SiteCachingTimeoutInSeconds + 1); sharepointLocator.SiteLastUpdatedRetVal = time; //Act var initialLogger = target.GetInstance <ILogger>(); ((ActivatingServiceLocator)target).RegisterTypeMapping <ILogger, SBaseLogger>(); var targetLogger = sharepointLocator.GetCurrent(expectedSite).GetInstance <ILogger>(); //Assert Assert.IsInstanceOfType(initialLogger, typeof(SharePointLogger)); Assert.IsInstanceOfType(targetLogger, typeof(SBaseLogger)); }
public void GetCurrent_LoadsSiteTypeMappings() { //Arrange var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; var siteTypeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SBaseLogger>() }; BSPFarm.SetLocal(); var expectedSite = new BSPSite(); expectedSite.ID = TestsConstants.TestGuid; var sharepointLocator = new TestableSharePointServiceLocator(); sharepointLocator.FarmTypeMappings = typeMappings; sharepointLocator.SiteTypeMappings = siteTypeMappings; //Act var target = sharepointLocator.GetCurrent(expectedSite); var targetLogger = target.GetInstance <ILogger>(); //Assert Assert.IsInstanceOfType(targetLogger, typeof(SBaseLogger)); }
public void GetCurrent_AddNewFarmMappingAlreadyDefinedInSiteUsesSite() { //Setup var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; BSPFarm.SetLocal(); var expectedSite = new BSPSite { ID = TestsConstants.TestGuid }; var sharepointLocator = new TestableSharePointServiceLocator(); sharepointLocator.FarmTypeMappings = new List <TypeMapping>(); sharepointLocator.SiteTypeMappings = typeMappings; var target = sharepointLocator.GetCurrent(expectedSite); // get current to make sure it is in memory var farmLocator = sharepointLocator.GetCurrent() as ActivatingServiceLocator; //Act farmLocator.RegisterTypeMapping <ILogger, SBaseLogger>(); var targetLogger = target.GetInstance <ILogger>(); //Assert Assert.IsInstanceOfType(targetLogger, typeof(SharePointLogger)); }
public void GetHierarchy_GetsHierarchyForSandbox() { //Arrange var context = new MockAppContextProvider(); context.IsProxyInstalledRetValue = false; context.SetSandbox(); SharePointEnvironment.ApplicationContextProvider = context; BSPSite site = new BSPSite(); var 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 IPropertyBagHierarchy target = HierarchyBuilder.GetHierarchy(web); //Assert Assert.IsInstanceOfType(target, typeof(SandboxPropertyBagHierarchy)); }
public void WriteSandboxLog_LogsMessage() { //Arrange SharePointEnvironment.Reset(); var context = new SIApplicationContextProvider() { GetCurrentAppDomainFriendlyName = () => "SandboxDomain", IsProxyCheckerInstalled = () => true, IsProxyInstalledStringString = (a, t) => true, }; SharePointEnvironment.ApplicationContextProvider = context; string testMessage = testMessageString; int testEventId = 99; LoggingOperationArgs loggingArgs = null; BSPSite site = new BSPSite(); MSPSite s = new MSPSite(site) { IDGet = () => TestsConstants.TestGuid }; BSPContext.SetCurrent(); MSPContext c = new MSPContext(BSPContext.Current) { SiteGet = () => site }; MSPUtility.ExecuteRegisteredProxyOperationStringStringSPProxyOperationArgs = (a, t, args) => { loggingArgs = args as LoggingOperationArgs; return(null); }; //Act var target = new SharePointLogger(); target.LogToOperations(testMessage, testEventId, SandboxEventSeverity.Error, TestsConstants.AreasCategories); // Assert Assert.IsNotNull(loggingArgs); Assert.AreEqual(loggingArgs.Message, testMessage); Assert.AreEqual(loggingArgs.Category, TestsConstants.AreasCategories); Assert.AreEqual(loggingArgs.EventId, testEventId); Assert.AreEqual((SandboxEventSeverity)loggingArgs.Severity, SandboxEventSeverity.Error); }
public void GetHierarchy_GetsHierarchyForFullTrust() { //Arrange var site = new BSPSite(); var web = site.SetRootWeb(); var webApp = new BSPWebApplication(); site.WebApplication = webApp; var f = new BSPConfiguredFarm(); webApp.Farm = SPFarm.Local; //Act IPropertyBagHierarchy target = HierarchyBuilder.GetHierarchy(web); //Assert Assert.IsInstanceOfType(target, typeof(FullTrustPropertyBagHierarchy)); }
public void WriteSandboxTrace_NoContext_TracesMessage() { //Arrange SharePointEnvironment.Reset(); string testMessage = testMessageString; int testEventId = 99; TracingOperationArgs tracingArgs = null; BSPSite site = new BSPSite(); MSPSite s = new MSPSite(site) { IDGet = () => TestsConstants.TestGuid }; MSPContext.CurrentGet = () => null; MSPUtility.ExecuteRegisteredProxyOperationStringStringSPProxyOperationArgs = (a, t, args) => { tracingArgs = args as TracingOperationArgs; return(null); }; var context = new SIApplicationContextProvider() { GetCurrentAppDomainFriendlyName = () => "SandboxDomain", IsProxyCheckerInstalled = () => true, IsProxyInstalledStringString = (a, t) => true, }; SharePointEnvironment.ApplicationContextProvider = context; //Act var target = new SharePointLogger(); target.TraceToDeveloper(testMessage, testEventId, SandboxTraceSeverity.High, TestsConstants.AreasCategories); // Assert Assert.IsNotNull(tracingArgs); Assert.AreEqual(tracingArgs.Message, testMessage); Assert.AreEqual(tracingArgs.Category, TestsConstants.AreasCategories); Assert.AreEqual(tracingArgs.EventId, testEventId); Assert.AreEqual((SandboxTraceSeverity)tracingArgs.Severity, SandboxTraceSeverity.High); }
public void EnsureConfigurationList_WithExistingListNew() { // Arrange BSPContentType.Prepare(); BSPFieldLink.Prepare(); var listUrl = string.Format("/Lists/{0}", ConfigurationList.ConfigListName); var site = new BSPSite(); var rootWeb = site.SetRootWeb(); rootWeb.Fields.SetAll(new SPField[] { new BSPField { Id = ConfigurationList.SettingKeyFieldId }, new BSPField { Id = ConfigurationList.SettingValueFieldId }, new BSPField { Id = ConfigurationList.SettingWebIdFieldId }, }); rootWeb.ServerRelativeUrl = "/"; rootWeb.ContentTypes.SetEmpty(); rootWeb.ContentTypes.ReadOnly = false; var list = rootWeb.Lists.SetOne(); list.Title = ConfigurationList.ConfigListName; list.Fields.SetOne(new BSPField { Id = ConfigurationList.SettingWebIdFieldId }); list.Hidden = true; list.FieldIndexes.SetEmpty(); list.Url = listUrl; list.ContentTypes.SetEmpty(); // Act and Assert EnsureConfigurationListForAnySite(site); }
public void GetCurrent_SiteTimeoutReloadCachesInstanceAfterReload() { //Setup var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; var f = new BSPConfiguredFarm(); var expectedSite = new BSPSite { ID = TestsConstants.TestGuid }; var time = new DateTime(2010, 5, 30); var sharepointLocator = new TestableSharePointServiceLocator(); sharepointLocator.FarmTypeMappings = new List <TypeMapping>(); sharepointLocator.SiteTypeMappings = typeMappings; MDateTime.NowGet = () => time; sharepointLocator.SiteGotTypeMappingsFromConfig = false; sharepointLocator.GetCurrent(expectedSite); Assert.IsTrue(sharepointLocator.SiteGotTypeMappingsFromConfig); sharepointLocator.SiteGotTypeMappingsFromConfig = false; time = time.AddSeconds(SharePointServiceLocator.SiteCachingTimeoutInSeconds + 1); sharepointLocator.SiteLastUpdatedRetVal = time; var targetLogger = sharepointLocator.GetCurrent(expectedSite).GetInstance <ILogger>(); //Act sharepointLocator.SiteGotTypeMappingsFromConfig = false; targetLogger = sharepointLocator.GetCurrent(expectedSite).GetInstance <ILogger>(); //Assert Assert.IsFalse(sharepointLocator.SiteGotTypeMappingsFromConfig); }
public void GetCurrent_SiteTimeoutReloadWorks() { //Setup var typeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SharePointLogger>() }; var f = new BSPConfiguredFarm(); var expectedSite = new BSPSite { ID = TestsConstants.TestGuid }; var time = new DateTime(2010, 5, 30); var sharepointLocator = new TestableSharePointServiceLocator(); sharepointLocator.FarmTypeMappings = new List <TypeMapping>(); sharepointLocator.SiteTypeMappings = typeMappings; MDateTime.NowGet = () => time; var target = sharepointLocator.GetCurrent(expectedSite); // get current to make sure it is in memory time = time.AddSeconds(SharePointServiceLocator.SiteCachingTimeoutInSeconds + 1); sharepointLocator.SiteLastUpdatedRetVal = time; //Act var initialLogger = target.GetInstance <ILogger>(); sharepointLocator.SiteTypeMappings = new List <TypeMapping> { TypeMapping.Create <ILogger, SBaseLogger>() }; var targetLogger = sharepointLocator.GetCurrent(expectedSite).GetInstance <ILogger>(); //Assert Assert.IsInstanceOfType(initialLogger, typeof(SharePointLogger)); Assert.IsInstanceOfType(targetLogger, typeof(SBaseLogger)); }
public void ctor_ValidStackBuilt() { //Arrange var site = new BSPSite(); BSPWeb web = site.SetRootWeb(); web.Site = site; var webApp = new BSPWebApplication(); site.WebApplication = webApp; var f = new BSPConfiguredFarm(); webApp.Farm = SPFarm.Local; //Act var stack = new FullTrustPropertyBagHierarchy(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(SPWebAppPropertyBag)); Assert.IsInstanceOfType(stack.PropertyBags.Skip(3).First(), typeof(SPFarmPropertyBag)); }