示例#1
0
        public void ErrorHandlingTest()
        {
            LogManager.ThrowExceptions = false;
            var mmt = new MockMailTarget
            {
                From        = "*****@*****.**",
                To          = "*****@*****.**",
                SmtpServer  = "${logger}",
                Body        = "${message}",
                AddNewLines = true,
            };

            mmt.Initialize(null);

            var exceptions  = new List <Exception>();
            var exceptions2 = new List <Exception>();

            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "ERROR", "log message 2").WithContinuation(exceptions2.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger1", "log message 3").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);
            Assert.Null(exceptions[1]);

            Assert.NotNull(exceptions2[0]);
            Assert.Equal("Some SMTP error.", exceptions2[0].Message);

            // 2 messages are sent, one using MyLogger1.mydomain.com, another using MyLogger2.mydomain.com
            Assert.Equal(2, mmt.CreatedMocks.Count);

            var mock1 = mmt.CreatedMocks[0];

            Assert.Equal("MyLogger1", mock1.Host);
            Assert.Equal(1, mock1.MessagesSent.Count);

            var msg1 = mock1.MessagesSent[0];

            Assert.Equal("log message 1\nlog message 3\n", msg1.Body);

            var mock2 = mmt.CreatedMocks[1];

            Assert.Equal("ERROR", mock2.Host);
            Assert.Equal(1, mock2.MessagesSent.Count);

            var msg2 = mock2.MessagesSent[0];

            Assert.Equal("log message 2\n", msg2.Body);
        }
示例#2
0
        public void MailTarget_WithEmptyTo_ThrowsNLogRuntimeException()
        {
            var mmt = new MockMailTarget
            {
                From       = "*****@*****.**",
                To         = "",
                Subject    = "Hello from NLog",
                SmtpServer = "server1",
                SmtpPort   = 27,
                Body       = "${level} ${logger} ${message}",
            };

            mmt.Initialize(null);
            var exceptions = new List <Exception>();

            Assert.Throws <NLogRuntimeException>(() => mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add)));
        }
示例#3
0
        public void SimpleEmailTest()
        {
            var mmt = new MockMailTarget
            {
                From       = "*****@*****.**",
                To         = "*****@*****.**",
                CC         = "[email protected];[email protected]",
                Bcc        = "[email protected];[email protected]",
                Subject    = "Hello from NLog",
                SmtpServer = "server1",
                SmtpPort   = 27,
                Body       = "${level} ${logger} ${message}"
            };

            mmt.Initialize(null);

            var exceptions = new List <Exception>();

            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Single(mmt.CreatedMocks);

            var mock = mmt.CreatedMocks[0];

            Assert.Single(mock.MessagesSent);
            Assert.Equal("server1", mock.Host);
            Assert.Equal(27, mock.Port);
            Assert.False(mock.EnableSsl);
            Assert.Null(mock.Credentials);

            var msg = mock.MessagesSent[0];

            Assert.Equal("Hello from NLog", msg.Subject);
            Assert.Equal("*****@*****.**", msg.From.Address);
            Assert.Single(msg.To);
            Assert.Equal("*****@*****.**", msg.To[0].Address);
            Assert.Equal(2, msg.CC.Count);
            Assert.Equal("*****@*****.**", msg.CC[0].Address);
            Assert.Equal("*****@*****.**", msg.CC[1].Address);
            Assert.Equal(2, msg.Bcc.Count);
            Assert.Equal("*****@*****.**", msg.Bcc[0].Address);
            Assert.Equal("*****@*****.**", msg.Bcc[1].Address);
            Assert.Equal("Info MyLogger log message 1", msg.Body);
        }
示例#4
0
        public void CsvLayoutTest()
        {
            var layout = new CsvLayout()
            {
                Delimiter  = CsvColumnDelimiterMode.Semicolon,
                WithHeader = true,
                Columns    =
                {
                    new CsvColumn("name",    "${logger}"),
                    new CsvColumn("level",   "${level}"),
                    new CsvColumn("message", "${message}"),
                }
            };

            var mmt = new MockMailTarget
            {
                From        = "*****@*****.**",
                To          = "*****@*****.**",
                SmtpServer  = "server1",
                AddNewLines = true,
                Layout      = layout,
            };

            layout.Initialize(null);

            mmt.Initialize(null);

            var exceptions = new List <Exception>();

            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger3", "log message 3").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Single(mmt.CreatedMocks);

            var mock = mmt.CreatedMocks[0];

            Assert.Single(mock.MessagesSent);
            var    msg          = mock.MessagesSent[0];
            string expectedBody = "name;level;message\nMyLogger1;Info;log message 1\nMyLogger2;Debug;log message 2\nMyLogger3;Error;log message 3\n";

            Assert.Equal(expectedBody, msg.Body);
        }
示例#5
0
        public void MailTarget_WithoutPriority_SendsMailWithNormalPriority()
        {
            var mmt = new MockMailTarget
            {
                From       = "*****@*****.**",
                To         = "*****@*****.**",
                Subject    = "Hello from NLog",
                SmtpServer = "server1",
            };

            mmt.Initialize(null);

            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(_ => { }));

            var messageSent = mmt.CreatedMocks[0].MessagesSent[0];

            Assert.Equal(MailPriority.Normal, messageSent.Priority);
        }
示例#6
0
        public void SimpleEmailTest()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                CC = "[email protected];[email protected]",
                Bcc = "[email protected];[email protected]",
                Subject = "Hello from NLog",
                SmtpServer = "server1",
                SmtpPort = 27,
                Body = "${level} ${logger} ${message}"
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Equal(1, mmt.CreatedMocks.Count);

            var mock = mmt.CreatedMocks[0];
            Assert.Equal(1, mock.MessagesSent.Count);
            Assert.Equal("server1", mock.Host);
            Assert.Equal(27, mock.Port);
            Assert.False(mock.EnableSsl);
            Assert.Null(mock.Credentials);

            var msg = mock.MessagesSent[0];
            Assert.Equal("Hello from NLog", msg.Subject);
            Assert.Equal("*****@*****.**", msg.From.Address);
            Assert.Equal(1, msg.To.Count);
            Assert.Equal("*****@*****.**", msg.To[0].Address);
            Assert.Equal(2, msg.CC.Count);
            Assert.Equal("*****@*****.**", msg.CC[0].Address);
            Assert.Equal("*****@*****.**", msg.CC[1].Address);
            Assert.Equal(2, msg.Bcc.Count);
            Assert.Equal("*****@*****.**", msg.Bcc[0].Address);
            Assert.Equal("*****@*****.**", msg.Bcc[1].Address);
            Assert.Equal(msg.Body, "Info MyLogger log message 1");
        }
示例#7
0
        public void PerMessageAddress()
        {
            var mmt = new MockMailTarget
            {
                From        = "*****@*****.**",
                To          = "${logger}@foo.com",
                Body        = "${message}",
                SmtpServer  = "server1.mydomain.com",
                AddNewLines = true,
            };

            mmt.Initialize(null);

            var exceptions = new List <Exception>();

            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger1", "log message 3").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            // 2 messages are sent, one using MyLogger1.mydomain.com, another using MyLogger2.mydomain.com
            Assert.Equal(2, mmt.CreatedMocks.Count);

            var mock1 = mmt.CreatedMocks[0];

            Assert.Single(mock1.MessagesSent);

            var msg1 = mock1.MessagesSent[0];

            Assert.Equal("*****@*****.**", msg1.To[0].Address);
            Assert.Equal("log message 1\nlog message 3\n", msg1.Body);

            var mock2 = mmt.CreatedMocks[1];

            Assert.Single(mock2.MessagesSent);

            var msg2 = mock2.MessagesSent[0];

            Assert.Equal("*****@*****.**", msg2.To[0].Address);
            Assert.Equal("log message 2\n", msg2.Body);
        }
示例#8
0
        public void MailTarget_WithValidToAndEmptyBcc_SendsMail()
        {
            var mmt = new MockMailTarget
            {
                From       = "*****@*****.**",
                To         = "*****@*****.**",
                Bcc        = "",
                Subject    = "Hello from NLog",
                SmtpServer = "server1",
                SmtpPort   = 27,
                Body       = "${level} ${logger} ${message}",
            };

            mmt.Initialize(null);

            var exceptions = new List <Exception>();

            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
            Assert.Single(mmt.CreatedMocks);
            Assert.Single(mmt.CreatedMocks[0].MessagesSent);
        }
示例#9
0
        public void NtlmEmailTest()
        {
            var mmt = new MockMailTarget
            {
                From               = "*****@*****.**",
                To                 = "*****@*****.**",
                SmtpServer         = "server1",
                SmtpAuthentication = SmtpAuthenticationMode.Ntlm,
            };

            mmt.Initialize(null);

            var exceptions = new List <Exception>();

            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Single(mmt.CreatedMocks);

            var mock = mmt.CreatedMocks[0];

            Assert.Equal(CredentialCache.DefaultNetworkCredentials, mock.Credentials);
        }
示例#10
0
        public void BasicAuthEmailTest()
        {
            try
            {
                var mmt = new MockMailTarget
                {
                    From               = "*****@*****.**",
                    To                 = "*****@*****.**",
                    SmtpServer         = "server1",
                    SmtpAuthentication = SmtpAuthenticationMode.Basic,
                    SmtpUserName       = "******",
                    SmtpPassword       = "******",
                };

                mmt.Initialize(null);

                var exceptions = new List <Exception>();
                MappedDiagnosticsContext.Set("username", "u1");
                MappedDiagnosticsContext.Set("password", "p1");
                mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
                Assert.Null(exceptions[0]);

                Assert.Single(mmt.CreatedMocks);

                var mock       = mmt.CreatedMocks[0];
                var credential = mock.Credentials as NetworkCredential;
                Assert.NotNull(credential);
                Assert.Equal("u1", credential.UserName);
                Assert.Equal("p1", credential.Password);
                Assert.Equal(string.Empty, credential.Domain);
            }
            finally
            {
                MappedDiagnosticsContext.Clear();
            }
        }
示例#11
0
        public void NtlmEmailTest()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                SmtpServer = "server1",
                SmtpAuthentication = SmtpAuthenticationMode.Ntlm,
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Equal(1, mmt.CreatedMocks.Count);

            var mock = mmt.CreatedMocks[0];
            Assert.Equal(CredentialCache.DefaultNetworkCredentials, mock.Credentials);
        }
示例#12
0
        public void MailTarget_WithNewlineInSubject_SendsMail()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                CC = "[email protected];[email protected]",
                Bcc = "[email protected];[email protected]",
                Subject = "Hello from NLog\n",
                SmtpServer = "server1",
                SmtpPort = 27,
                Body = "${level} ${logger} ${message}"
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Equal(1, mmt.CreatedMocks.Count);

            var mock = mmt.CreatedMocks[0];
            Assert.Equal(1, mock.MessagesSent.Count);
            var msg = mock.MessagesSent[0];
        }
示例#13
0
 public void MailTargetInitialize_WithoutSpecifiedSmtpServer_ThrowsConfigException()
 {
     var mmt = new MockMailTarget
     {
         From = "*****@*****.**",
         To = "*****@*****.**",
         Subject = "Hello from NLog",
         SmtpPort = 27,
         Body = "${level} ${logger} ${message}"
     };
     Assert.Throws<NLogConfigurationException>(() => mmt.Initialize(null));
 }
示例#14
0
        public void MailTarget_WithoutSubject_SendsMessageWithDefaultSubject()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                SmtpServer = "server1",
                SmtpPort = 27,
                Body = "${level} ${logger} ${message}"
            };
            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));

            Assert.Null(exceptions[0]);
            Assert.Equal(1, mmt.CreatedMocks.Count);
            var mock = mmt.CreatedMocks[0];
            Assert.Equal(1, mock.MessagesSent.Count);

            Assert.Equal(string.Format("Message from NLog on {0}", Environment.MachineName), mock.MessagesSent[0].Subject);
        }
示例#15
0
        public void BasicAuthEmailTest()
        {
            try
            {
                var mmt = new MockMailTarget
                {
                    From = "*****@*****.**",
                    To = "*****@*****.**",
                    SmtpServer = "server1",
                    SmtpAuthentication = SmtpAuthenticationMode.Basic,
                    SmtpUserName = "******",
                    SmtpPassword = "******",
                };

                mmt.Initialize(null);

                var exceptions = new List<Exception>();
                MappedDiagnosticsContext.Set("username", "u1");
                MappedDiagnosticsContext.Set("password", "p1");
                mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));
                Assert.Null(exceptions[0]);

                Assert.Equal(1, mmt.CreatedMocks.Count);

                var mock = mmt.CreatedMocks[0];
                var credential = mock.Credentials as NetworkCredential;
                Assert.NotNull(credential);
                Assert.Equal("u1", credential.UserName);
                Assert.Equal("p1", credential.Password);
                Assert.Equal(string.Empty, credential.Domain);
            }
            finally
            {
                MappedDiagnosticsContext.Clear();
            }
        }
示例#16
0
        public void ErrorHandlingTest()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                SmtpServer = "${logger}",
                Body = "${message}",
                AddNewLines = true,
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            var exceptions2 = new List<Exception>();

            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "ERROR", "log message 2").WithContinuation(exceptions2.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger1", "log message 3").WithContinuation(exceptions.Add));
            Assert.IsNull(exceptions[0], Convert.ToString(exceptions[0]));
            Assert.IsNull(exceptions[1], Convert.ToString(exceptions[1]));

            Assert.IsNotNull(exceptions2[0]);
            Assert.AreEqual("Some SMTP error.", exceptions2[0].Message);

            // 2 messages are sent, one using MyLogger1.mydomain.com, another using MyLogger2.mydomain.com
            Assert.AreEqual(2, mmt.CreatedMocks.Count);

            var mock1 = mmt.CreatedMocks[0];
            Assert.AreEqual("MyLogger1", mock1.Host);
            Assert.AreEqual(1, mock1.MessagesSent.Count);

            var msg1 = mock1.MessagesSent[0];
            Assert.AreEqual("log message 1\nlog message 3\n", msg1.Body);

            var mock2 = mmt.CreatedMocks[1];
            Assert.AreEqual("ERROR", mock2.Host);
            Assert.AreEqual(1, mock2.MessagesSent.Count);

            var msg2 = mock2.MessagesSent[0];
            Assert.AreEqual("log message 2\n", msg2.Body);
        }
示例#17
0
        public void CsvLayoutTest()
        {
            var layout = new CsvLayout()
            {
                Delimiter = CsvColumnDelimiterMode.Semicolon,
                WithHeader = true,
                Columns =
                {
                    new CsvColumn("name", "${logger}"),
                    new CsvColumn("level", "${level}"),
                    new CsvColumn("message", "${message}"),
                }
            };

            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                SmtpServer = "server1",
                AddNewLines = true,
                Layout = layout,
            };

            layout.Initialize(null);

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger3", "log message 3").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Equal(1, mmt.CreatedMocks.Count);

            var mock = mmt.CreatedMocks[0];
            Assert.Equal(1, mock.MessagesSent.Count);
            var msg = mock.MessagesSent[0];
            string expectedBody = "name;level;message\nMyLogger1;Info;log message 1\nMyLogger2;Debug;log message 2\nMyLogger3;Error;log message 3\n";
            Assert.Equal(expectedBody, msg.Body);
        }
示例#18
0
        public void MailTarget_WithInvalidPriority_SendsMailWithNormalPriority()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                Subject = "Hello from NLog",
                SmtpServer = "server1",
                Priority = "invalidPriority"
            };
            mmt.Initialize(null);

            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(_ => { }));

            var messageSent = mmt.CreatedMocks[0].MessagesSent[0];
            Assert.Equal(MailPriority.Normal, messageSent.Priority);
        }
示例#19
0
        public void NoReplaceNewlinesWithBreakInHtmlMail()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                Subject = "Hello from NLog",
                SmtpServer = "server1",
                Body = "${level}${newline}${logger}${newline}${message}",
                Html = true,
                ReplaceNewlineWithBrTagInHtml = false
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));

            var messageSent = mmt.CreatedMocks[0].MessagesSent[0];
            Assert.True(messageSent.IsBodyHtml);
            var lines = messageSent.Body.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            Assert.True(lines.Length == 3);
        }
示例#20
0
        public void CustomHeaderAndFooter()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                SmtpServer = "server1",
                AddNewLines = true,
                Layout = "${message}",
                Header = "First event: ${logger}",
                Footer = "Last event: ${logger}",
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger3", "log message 3").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            Assert.Equal(1, mmt.CreatedMocks.Count);

            var mock = mmt.CreatedMocks[0];
            Assert.Equal(1, mock.MessagesSent.Count);
            var msg = mock.MessagesSent[0];
            string expectedBody = "First event: MyLogger1\nlog message 1\nlog message 2\nlog message 3\nLast event: MyLogger3\n";
            Assert.Equal(expectedBody, msg.Body);
        }
示例#21
0
        public void PerMessageAddress()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "${logger}@foo.com",
                Body = "${message}",
                SmtpServer = "server1.mydomain.com",
                AddNewLines = true,
            };

            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvents(
                new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
                new LogEventInfo(LogLevel.Error, "MyLogger1", "log message 3").WithContinuation(exceptions.Add));
            Assert.Null(exceptions[0]);

            // 2 messages are sent, one using MyLogger1.mydomain.com, another using MyLogger2.mydomain.com
            Assert.Equal(2, mmt.CreatedMocks.Count);

            var mock1 = mmt.CreatedMocks[0];
            Assert.Equal(1, mock1.MessagesSent.Count);

            var msg1 = mock1.MessagesSent[0];
            Assert.Equal("*****@*****.**", msg1.To[0].Address);
            Assert.Equal("log message 1\nlog message 3\n", msg1.Body);

            var mock2 = mmt.CreatedMocks[1];
            Assert.Equal(1, mock2.MessagesSent.Count);

            var msg2 = mock2.MessagesSent[0];
            Assert.Equal("*****@*****.**", msg2.To[0].Address);
            Assert.Equal("log message 2\n", msg2.Body);
        }
示例#22
0
 public void MailTargetInitialize_WithoutSpecifiedFrom_ThrowsConfigException()
 {
     var mmt = new MockMailTarget
     {
         To = "*****@*****.**",
         Subject = "Hello from NLog",
         SmtpServer = "server1",
         SmtpPort = 27,
         Body = "${level} ${logger} ${message}",
         UseSystemNetMailSettings = false
     };
     Assert.Throws<NLogConfigurationException>(() => mmt.Initialize(null));
 }
示例#23
0
        public void MailTarget_WithEmptySmtpServer_ThrowsNLogRuntimeException()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                Subject = "Hello from NLog",
                SmtpServer = "",
                SmtpPort = 27,
                Body = "${level} ${logger} ${message}"
            };
            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));

            Assert.NotNull(exceptions[0]);
            Assert.IsType<NLogRuntimeException>(exceptions[0]);
        }
示例#24
0
        public void MailTarget_WithValidToAndEmptyBcc_SendsMail()
        {
            var mmt = new MockMailTarget
            {
                From = "*****@*****.**",
                To = "*****@*****.**",
                Bcc = "",
                Subject = "Hello from NLog",
                SmtpServer = "server1",
                SmtpPort = 27,
                Body = "${level} ${logger} ${message}",
            };
            mmt.Initialize(null);

            var exceptions = new List<Exception>();
            mmt.WriteAsyncLogEvent(new LogEventInfo(LogLevel.Info, "MyLogger", "log message 1").WithContinuation(exceptions.Add));

            Assert.Null(exceptions[0]);
            Assert.Equal(1, mmt.CreatedMocks.Count);
            Assert.Equal(1, mmt.CreatedMocks[0].MessagesSent.Count);
        }
示例#25
0
 public void MailTargetInitialize_WithoutSpecifiedSmtpServer_should_not_ThrowsConfigException()
 {
     var mmt = new MockMailTarget
     {
         From = "*****@*****.**",
         To = "*****@*****.**",
         Subject = "Hello from NLog",
         SmtpPort = 27,
         Body = "${level} ${logger} ${message}",
         UseSystemNetMailSettings = true
     };
     mmt.Initialize(null);
 }