本文整理汇总了C#中MockMailTarget类的典型用法代码示例。如果您正苦于以下问题:C# MockMailTarget类的具体用法?C# MockMailTarget怎么用?C# MockMailTarget使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MockMailTarget类属于命名空间,在下文中一共展示了MockMailTarget类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SimpleEmailTest
public void SimpleEmailTest()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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("[email protected]", msg.From.Address);
Assert.Equal(1, msg.To.Count);
Assert.Equal("[email protected]", msg.To[0].Address);
Assert.Equal(2, msg.CC.Count);
Assert.Equal("[email protected]", msg.CC[0].Address);
Assert.Equal("[email protected]server.com", msg.CC[1].Address);
Assert.Equal(2, msg.Bcc.Count);
Assert.Equal("[email protected]", msg.Bcc[0].Address);
Assert.Equal("[email protected]", msg.Bcc[1].Address);
Assert.Equal(msg.Body, "Info MyLogger log message 1");
}
示例2: MailTarget_WithValidToAndEmptyBcc_SendsMail
public void MailTarget_WithValidToAndEmptyBcc_SendsMail()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例3: MailTarget_WithInvalidPriority_SendsMailWithNormalPriority
public void MailTarget_WithInvalidPriority_SendsMailWithNormalPriority()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例4: CustomHeaderAndFooter
public void CustomHeaderAndFooter()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例5: NoReplaceNewlinesWithBreakInHtmlMail
public void NoReplaceNewlinesWithBreakInHtmlMail()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例6: MailTarget_WithoutSubject_SendsMessageWithDefaultSubject
public void MailTarget_WithoutSubject_SendsMessageWithDefaultSubject()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例7: MailTargetInitialize_WithoutSpecifiedSmtpServer_should_not_ThrowsConfigException
public void MailTargetInitialize_WithoutSpecifiedSmtpServer_should_not_ThrowsConfigException()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
Subject = "Hello from NLog",
SmtpPort = 27,
Body = "${level} ${logger} ${message}",
UseSystemNetMailSettings = true
};
mmt.Initialize(null);
}
示例8: NtlmEmailTest
public void NtlmEmailTest()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例9: BasicAuthEmailTest
public void BasicAuthEmailTest()
{
try
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
SmtpServer = "server1",
SmtpAuthentication = SmtpAuthenticationMode.Basic,
SmtpUserName = "${mdc:username}",
SmtpPassword = "${mdc:password}",
};
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();
}
}
示例10: MailTarget_UseSystemNetMailSettings_True_WithVirtualPath
public void MailTarget_UseSystemNetMailSettings_True_WithVirtualPath()
{
var inConfigVal = @"~/App_Data/Mail";
var mmt = new MockMailTarget(inConfigVal)
{
From = "[email protected]",
To = "[email protected]",
Subject = "Hello from NLog",
Body = "${level} ${logger} ${message}",
UseSystemNetMailSettings = false,
PickupDirectoryLocation = inConfigVal,
DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory
};
mmt.ConfigureMailClient();
Assert.NotEqual(inConfigVal, mmt.SmtpClientPickUpDirectory);
var separator = Path.DirectorySeparatorChar;
Assert.Contains(string.Format("{0}App_Data{0}Mail", separator), mmt.SmtpClientPickUpDirectory);
}
示例11: ErrorHandlingTest
public void ErrorHandlingTest()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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);
}
示例12: MailTarget_UseSystemNetMailSettings_True
public void MailTarget_UseSystemNetMailSettings_True()
{
var inConfigVal = @"C:\config";
var mmt = new MockMailTarget(inConfigVal)
{
From = "[email protected]",
To = "[email protected]",
Subject = "Hello from NLog",
Body = "${level} ${logger} ${message}",
UseSystemNetMailSettings = true
};
mmt.ConfigureMailClient();
Assert.Equal(mmt.SmtpClientPickUpDirectory, inConfigVal);
}
示例13: MailTarget_UseSystemNetMailSettings_False_Override_DeliveryMethod_SpecifiedDeliveryMethod
public void MailTarget_UseSystemNetMailSettings_False_Override_DeliveryMethod_SpecifiedDeliveryMethod()
{
var inConfigVal = @"C:\config";
var mmt = new MockMailTarget(inConfigVal)
{
From = "[email protected]",
To = "[email protected]",
Subject = "Hello from NLog",
SmtpPort = 27,
Body = "${level} ${logger} ${message}",
PickupDirectoryLocation = @"C:\TEMP",
UseSystemNetMailSettings = false,
DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory
};
mmt.ConfigureMailClient();
Assert.NotEqual(mmt.PickupDirectoryLocation, inConfigVal);
}
示例14: MockMailTarget
public void MailTarget_UseSystemNetMailSettings_False_Override_ThrowsNLogRuntimeException_if_DeliveryMethodNotSpecified()
{
var inConfigVal = @"C:\config";
var mmt = new MockMailTarget(inConfigVal)
{
From = "[email protected]",
To = "[email protected]",
Subject = "Hello from NLog",
SmtpPort = 27,
Body = "${level} ${logger} ${message}",
PickupDirectoryLocation = @"C:\TEMP",
UseSystemNetMailSettings = false
};
Assert.Throws<NLogRuntimeException>(() => mmt.ConfigureMailClient());
}
示例15: MailTarget_WithEmptySmtpServer_ThrowsNLogRuntimeException
public void MailTarget_WithEmptySmtpServer_ThrowsNLogRuntimeException()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
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]);
}