Add message logging to StubTransport (#744)
This makes it more useful as a testing tool as it now allows you to retrieve all messages sent via this transport.
This commit is contained in:
committed by
GitHub
parent
8b40e438fd
commit
c24213c850
@@ -17,19 +17,25 @@ mod sync {
|
||||
|
||||
sender_ok.send(&email).unwrap();
|
||||
sender_ko.send(&email).unwrap_err();
|
||||
|
||||
let expected_messages = vec![(
|
||||
email.envelope().clone(),
|
||||
String::from_utf8(email.formatted()).unwrap(),
|
||||
)];
|
||||
assert_eq!(sender_ok.messages(), expected_messages);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[cfg(all(feature = "builder", feature = "tokio1"))]
|
||||
mod tokio_1 {
|
||||
use lettre::{transport::stub::StubTransport, AsyncTransport, Message};
|
||||
use lettre::{transport::stub::AsyncStubTransport, AsyncTransport, Message};
|
||||
use tokio1_crate as tokio;
|
||||
|
||||
#[tokio::test]
|
||||
async fn stub_transport_tokio1() {
|
||||
let sender_ok = StubTransport::new_ok();
|
||||
let sender_ko = StubTransport::new_error();
|
||||
let sender_ok = AsyncStubTransport::new_ok();
|
||||
let sender_ko = AsyncStubTransport::new_error();
|
||||
let email = Message::builder()
|
||||
.from("NoBody <nobody@domain.tld>".parse().unwrap())
|
||||
.reply_to("Yuin <yuin@domain.tld>".parse().unwrap())
|
||||
@@ -39,19 +45,25 @@ mod tokio_1 {
|
||||
.unwrap();
|
||||
|
||||
sender_ok.send(email.clone()).await.unwrap();
|
||||
sender_ko.send(email).await.unwrap_err();
|
||||
sender_ko.send(email.clone()).await.unwrap_err();
|
||||
|
||||
let expected_messages = vec![(
|
||||
email.envelope().clone(),
|
||||
String::from_utf8(email.formatted()).unwrap(),
|
||||
)];
|
||||
assert_eq!(sender_ok.messages().await, expected_messages);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[cfg(all(feature = "builder", feature = "async-std1"))]
|
||||
mod asyncstd_1 {
|
||||
use lettre::{transport::stub::StubTransport, AsyncTransport, Message};
|
||||
use lettre::{transport::stub::AsyncStubTransport, AsyncTransport, Message};
|
||||
|
||||
#[async_std::test]
|
||||
async fn stub_transport_asyncstd1() {
|
||||
let sender_ok = StubTransport::new_ok();
|
||||
let sender_ko = StubTransport::new_error();
|
||||
let sender_ok = AsyncStubTransport::new_ok();
|
||||
let sender_ko = AsyncStubTransport::new_error();
|
||||
let email = Message::builder()
|
||||
.from("NoBody <nobody@domain.tld>".parse().unwrap())
|
||||
.reply_to("Yuin <yuin@domain.tld>".parse().unwrap())
|
||||
@@ -61,6 +73,12 @@ mod asyncstd_1 {
|
||||
.unwrap();
|
||||
|
||||
sender_ok.send(email.clone()).await.unwrap();
|
||||
sender_ko.send(email).await.unwrap_err();
|
||||
sender_ko.send(email.clone()).await.unwrap_err();
|
||||
|
||||
let expected_messages = vec![(
|
||||
email.envelope().clone(),
|
||||
String::from_utf8(email.formatted()).unwrap(),
|
||||
)];
|
||||
assert_eq!(sender_ok.messages().await, expected_messages);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user