public void CanReturnSmtpResponseException_SessionWillQuit() { // arrange var mailboxFilter = new DelegatingMailboxFilter(@from => throw new SmtpResponseException(SmtpResponse.AuthenticationRequired, true)); using (CreateServer(services => services.Add(mailboxFilter))) { using var client = MailClient.Client(); Assert.Throws <ServiceNotAuthenticatedException>(() => client.Send(MailClient.Message())); // no longer connected to this is invalid Assert.ThrowsAny <Exception>(() => client.NoOp()); } }
public void WillTimeoutWaitingForCommand() { using (CreateServer(c => c.CommandWaitTimeout(TimeSpan.FromSeconds(1)))) { var client = MailClient.Client(); client.NoOp(); for (var i = 0; i < 5; i++) { Task.Delay(TimeSpan.FromMilliseconds(250)).Wait(); client.NoOp(); } Task.Delay(TimeSpan.FromSeconds(5)).Wait(); Assert.Throws <IOException>(() => client.NoOp()); } }
public void CanReturnSmtpResponseException_DoesNotQuit() { // arrange var mailboxFilter = new DelegatingMailboxFilter(@from => { throw new SmtpResponseException(SmtpResponse.AuthenticationRequired); #pragma warning disable 162 return(MailboxFilterResult.Yes); #pragma warning restore 162 }); using (CreateServer(services => services.Add(mailboxFilter))) { using var client = MailClient.Client(); Assert.Throws <ServiceNotAuthenticatedException>(() => client.Send(MailClient.Message())); client.NoOp(); } }
public void CanReturnSmtpResponseException_SessionWillQuit() { // arrange var mailboxFilter = new DelegatingMailboxFilter(@from => { throw new SmtpResponseException(SmtpResponse.AuthenticationRequired, true); #pragma warning disable 162 return(MailboxFilterResult.Yes); #pragma warning restore 162 }); using (CreateServer(options => options.MailboxFilter(mailboxFilter))) { using (var client = MailClient.Client()) { Assert.Throws <ServiceNotAuthenticatedException>(() => client.Send(MailClient.Message())); // no longer connected to this is invalid Assert.ThrowsAny <Exception>(() => client.NoOp()); } } }