public void Log_Always_DisposesCreatedSmtpClient() { // Arrange var smtpClient = new DisposableSmtpClient(); Assert.IsFalse(smtpClient.IsDisposed, "Test setup failed."); DisposeTesterMailLoggingProvider provider = CreateInitializedDisposeTesterMailLoggingProvider(); provider.SmtpClientToReturnFromCreateSmtpClient = smtpClient; // By letting the BuildMailMessage return null, we force the SmtpClient.Send method to throw an // exception. This prevents a mail message from actually being send and also checks whether an // exception will still result in the SmtpClient being disposed. provider.MailMessageToReturnFromBuildMailMessage = null; try { // Act provider.Log("Some message"); // Assert Assert.Fail("ArgumentNullException expected."); } catch (ArgumentNullException) { Assert.IsTrue(smtpClient.IsDisposed, "The StmpClient should have been disposed."); } }
private static DisposeTesterMailLoggingProvider CreateInitializedDisposeTesterMailLoggingProvider() { var provider = new DisposeTesterMailLoggingProvider(); // Set the SmtpClient before calling Initialize. provider.SmtpClientToReturnFromCreateSmtpClient = new SmtpClient(); provider.Initialize("valid name", CreateValidConfiguration()); return(provider); }
public void Log_AfterInitializingProvider_DisposedCreatedSmtpClient() { // Arrange var provider = new DisposeTesterMailLoggingProvider(); var smtpClient = new DisposableSmtpClient(); Assert.IsFalse(smtpClient.IsDisposed, "Test setup failed."); // Set the SmtpClient before calling Initialize. provider.SmtpClientToReturnFromCreateSmtpClient = smtpClient; // Act provider.Initialize("valid name", CreateValidConfiguration()); Assert.IsTrue(smtpClient.IsDisposed); }