public void ShouldRaiseLaunchLogMessageForInnerScope()
        {
            ILogContext           lc            = null;
            LogMessageCommandArgs logMessageArg = null;

            var listener = new Mock <ICommandsListener>();

            listener.Setup(o => o.Initialize(It.IsAny <ICommandsSource>())).Callback <ICommandsSource>(s =>
            {
                s.OnLogMessageCommand += (a, b) => { lc = a; logMessageArg = b; };
            });

            var extensionManager = new ExtensionManager();

            extensionManager.CommandsListeners.Add(listener.Object);

            var launchContext = new LaunchContext(extensionManager, new CommandsSource(new List <ICommandsListener> {
                listener.Object
            }));

            var scope = launchContext.Log.BeginScope("qwe");

            launchContext.Log.Info("asd");

            lc.Should().Be(launchContext);
            logMessageArg.LogMessage.Message.Should().Be("asd");
            logMessageArg.LogScope.Should().Be(launchContext.Log);
        }
        public void ShouldRaiseTestLogMessageForRootedScope()
        {
            ILogContext           tc            = null;
            LogMessageCommandArgs logMessageArg = null;

            var listener = new Mock <ICommandsListener>();

            listener.Setup(o => o.Initialize(It.IsAny <ICommandsSource>())).Callback <ICommandsSource>(s =>
            {
                s.OnLogMessageCommand += (a, b) => { tc = a; logMessageArg = b; };
            });

            var extensionManager = new ExtensionManager();

            extensionManager.CommandsListeners.Add(listener.Object);

            var testContext = new TestContext(extensionManager, new CommandsSource(new List <ICommandsListener> {
                listener.Object
            }));

            testContext.Log.Info("qwe");

            tc.Should().Be(testContext);
            logMessageArg.LogMessage.Message.Should().Be("qwe");
            logMessageArg.LogMessage.Level.Should().Be(LogMessageLevel.Info);
            logMessageArg.LogScope.Should().BeNull();
        }
Beispiel #3
0
 public static void RaiseOnLogMessageCommand(CommandsSource commandsSource, ILogContext logContext, LogMessageCommandArgs args)
 {
     commandsSource.OnLogMessageCommand?.Invoke(logContext, args);
 }