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