public async Task LogDebugAsync_LogCorrectMessageAsync() { // Arrange var vsaMock = new Mock <IVisualStudioAccess>(); ILogger logger = new VisualStudioLogger(vsaMock.Object, "foo"); // Act await logger.LogDebugAsync("test message"); // Assert vsaMock.Verify(m => m.LogToOutputPanelAsync("DEBUG: test message"), Times.Once); }
public void DocumentationBaseUrl_GetCorrectValue() { // Arrange var vsaMock = new Mock <IVisualStudioAccess>(); const string documentationBaseUrl = "foobar"; // Act ILogger logger = new VisualStudioLogger(vsaMock.Object, documentationBaseUrl); // Assert Assert.AreEqual(documentationBaseUrl, logger.DocumentationBaseUrl); }
public async Task LogCriticalAsync_WithoutException_LogCorrectMessageAsync() { // Arrange var vsaMock = new Mock <IVisualStudioAccess>(); ILogger logger = new VisualStudioLogger(vsaMock.Object, "foo"); // Act await logger.LogCriticalAsync("test message"); // Assert vsaMock.Verify(m => m.LogToOutputPanelAsync("CRITICAL: test message"), Times.Once); }
public void LogCriticalAsync_WithException_ArgumentNullException_Message() { // Arrange var vsaMock = new Mock <IVisualStudioAccess>(); ILogger logger = new VisualStudioLogger(vsaMock.Object, "foo"); var exception = new Exception("test"); // Act & Assert // ReSharper disable AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => logger.LogCriticalAsync(exception, null)); // ReSharper restore AssignNullToNotNullAttribute }
private async Task <DependencyResolver> GetDependencyResolverAsync() { if (!(await GetServiceAsync(typeof(IMenuCommandService)) is OleMenuCommandService commandService)) { throw new InvalidOperationException($"Cannot initialize {nameof(SSDTLifecycleExtensionPackage)} without the {nameof(OleMenuCommandService)}."); } var visualStudioAccess = new VisualStudioAccess(_dte2, this); var visualStudioLogger = new VisualStudioLogger(visualStudioAccess, Settings.Default.DocumentationBaseUrl); return(new DependencyResolver(visualStudioAccess, visualStudioLogger, commandService)); }
public async Task LogCriticalAsync_WithException_LogCorrectMessageAsync() { // Arrange var vsaMock = new Mock <IVisualStudioAccess>(); ILogger logger = new VisualStudioLogger(vsaMock.Object, "foo"); var exception = new Exception("test exception"); // Act await logger.LogCriticalAsync(exception, "test message"); // Assert vsaMock.Verify(m => m.LogToOutputPanelAsync(It.Is <string>(s => s.StartsWith("CRITICAL: test message") && s.Contains(exception.Message) && s.Contains(exception.GetType().FullName))), Times.Once); }