spamassassin-milter/tests/reject_spam.rs

30 lines
766 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() {
2022-03-06 08:21:05 +00:00
let config = configure_spamc(Config::builder())
2020-06-14 07:53:08 +00:00
.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}")])
2022-03-06 08:21:05 +00:00
.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());
}