public void Execute_TracesMessage() { //Arrange var args = new TracingOperationArgs(); Guid createGuid = Guid.Empty; args.Message = TestsConstants.TestGuidName; args.EventId = -99; args.Category = TestsConstants.AreasCategories; args.Severity = (int)SandboxTraceSeverity.High; args.SiteID = TestsConstants.TestGuid; SharePointServiceLocator.ReplaceCurrentServiceLocator(new ActivatingServiceLocator()); ((ActivatingServiceLocator)SharePointServiceLocator.GetCurrent()) .RegisterTypeMapping <ILogger, TestTraceLogger>(InstantiationType.AsSingleton); var operation = new TracingOperation(); BSPFarm.SetLocal(); MSPSite site; BSPWeb bweb = new BSPWeb(); var mweb = new MSPWeb(bweb) { NameGet = () => "foo.bar", }; MSPSite.ConstructorGuid = (instance, g) => { site = new MSPSite(instance) { Dispose = () => { }, IDGet = () => TestsConstants.TestGuid, RootWebGet = () => mweb }; createGuid = g; }; //Act object target = operation.Execute(args); //Assert var logger = SharePointServiceLocator.GetCurrent().GetInstance <ILogger>() as TestTraceLogger; Assert.IsNotInstanceOfType(target, typeof(Exception)); Assert.AreEqual(TestsConstants.TestGuid, createGuid); Assert.IsTrue(logger.Message.Contains(args.Message)); Assert.AreEqual(logger.Category, TestsConstants.AreasCategories); Assert.AreEqual(logger.EventId, args.EventId); Assert.AreEqual(logger.Severity, SandboxTraceSeverity.High); }
public void WriteSandboxTrace_TracesMessage() { //Arrange string testMessage = testMessageString; int testEventId = 99; TracingOperationArgs tracingArgs = 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) => { 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 Execute_WithNoMessageInProxyArgs_ReturnsNullArgumentException() { //Arrange var args = new TracingOperationArgs(); args.Message = null; args.EventId = -1; args.Category = "foobar"; args.Severity = (int)SandboxTraceSeverity.High; var operation = new TracingOperation(); BSPFarm.SetLocal(); //Act object target = operation.Execute(args); //Assert Assert.IsInstanceOfType(target, typeof(ArgumentNullException)); }
public void Execute_WithWrongProxyArgsType_ReturnsArgumentException() { //Arrange var args = new TracingOperationArgs(); args.Message = "foobar"; args.EventId = -1; args.Category = "foobar"; args.Severity = (int)EventSeverity.Error; var operation = new LoggingOperation(); BSPFarm.SetLocal(); //Act object target = operation.Execute(args); //Assert Assert.IsInstanceOfType(target, typeof(ArgumentException)); }
protected virtual void WriteToTraceSandbox(string message, int eventId, SandboxTraceSeverity?severity, string category) { if (SharePointLogger.canAccessSandboxTracing == -1) { if (SharePointEnvironment.ProxyInstalled(TracingOperationArgs.OperationAssemblyName, TracingOperationArgs.OperationTypeName)) { SharePointLogger.canAccessSandboxTracing = 1; } else { SharePointLogger.canAccessSandboxTracing = 0; } } if (SharePointLogger.canAccessSandboxTracing == 1) { var args = new TracingOperationArgs(); args.Message = message; args.EventId = eventId; args.Category = category; args.Severity = (int?)severity; if (SPContext.Current != null) { args.SiteID = SPContext.Current.Site.ID; } else { args.SiteID = null; } var result = SPUtility.ExecuteRegisteredProxyOperation( TracingOperationArgs.OperationAssemblyName, TracingOperationArgs.OperationTypeName, args); if (result != null && result.GetType().IsSubclassOf(typeof(System.Exception))) { var ex = new LoggingException(Resources.SandboxTraceFailed, (Exception)result); throw ex; } } }