use crate::helpers::{TestInfoBuilder, DEFAULT_BODY, DEFAULT_MESSAGE, EMPTY_MESSAGE};
use lettre::{transport::smtp::client::Tls, Transport};
use maik::MailAssertion;
#[test]
fn close_after_one() {
let test_info = TestInfoBuilder::new()
.default_auth_user()
.close_after_n(1)
.build();
let mailer = test_info.mailer_builder.tls(Tls::None).build();
assert!(mailer.send(&EMPTY_MESSAGE).is_ok());
assert!(test_info.server.assert(MailAssertion::new()));
}
#[test]
fn close_after_two() {
let test_info = TestInfoBuilder::new()
.default_auth_user()
.close_after_n(2)
.build();
let mailer = test_info.mailer_builder.tls(Tls::None).build();
assert!(mailer.send(&EMPTY_MESSAGE).is_ok());
assert!(mailer.send(&DEFAULT_MESSAGE).is_ok());
let ma = MailAssertion::new().body_is(DEFAULT_BODY);
assert!(test_info.server.assert(ma));
}
#[test]
#[should_panic]
fn invalid_n() {
TestInfoBuilder::new()
.default_auth_user()
.close_after_n(0)
.build();
}