maik 0.2.0

A mock SMTP server library
Documentation
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();
}