spamassassin-milter/tests/reject_spam.rs

31 lines
804 B
Rust
Raw Normal View History

mod common;
pub use common::*;
use spamassassin_milter::*;
2022-02-21 17:58:24 +00:00
#[tokio::test]
async fn reject_spam() {
let mut builder = configure_spamc(Config::builder());
2020-06-14 07:53:08 +00:00
builder
.reject_spam(true)
.reply_code("554".into())
2020-06-14 07:53:08 +00:00
.reply_text("Not allowed!".into())
.spamc_args(&[format!("--port={}", SPAMD_PORT)]);
let config = builder.build();
let server = spawn_mock_spamd_server(SPAMD_PORT, |spam| {
Err(spam.replacen("\r\n\r\n", "\r\nX-Spam-Flag: YES\r\n\r\n", 1))
2022-02-21 17:58:24 +00:00
})
.await
.unwrap();
2022-02-21 17:58:24 +00:00
let milter = SpamAssassinMilter::spawn(LOCALHOST, config).await.unwrap();
2022-02-21 17:58:24 +00:00
let exit_code = run_miltertest(file!(), milter.addr()).await.unwrap();
2022-02-21 17:58:24 +00:00
milter.shutdown().await.unwrap();
server.await.unwrap().unwrap();
2022-02-21 17:58:24 +00:00
assert!(exit_code.success());
}