spamassassin-milter/tests/ham_flow.rs

37 lines
1.1 KiB
Rust
Raw Normal View History

2020-02-08 09:43:52 +00:00
mod common;
2020-02-12 08:35:32 +00:00
pub use common::*; // `pub` only to silence unused code warnings
2020-02-08 09:43:52 +00:00
use spamassassin_milter::*;
#[test]
fn ham_flow() {
let mut builder = Config::builder();
builder.spamc_args(vec![format!("--port={}", SPAMD_PORT)]);
2020-02-08 09:43:52 +00:00
let config = builder.build();
let server = spawn_mock_spamd_server(SPAMD_PORT, |ham| {
Ok(ham
.replacen(
"X-Spam-Checker-Version: BogusChecker 1.0.0\r\n",
"X-Spam-Checker-Version: MyChecker 1.0.0\r\n",
1,
)
.replacen("X-Spam-Report: Bogus report\r\n", "", 1)
.replacen(
"\r\n\r\n",
"\r\n\
X-Spam-Custom: Custom-Value\r\n\
\r\n",
1,
))
});
2020-02-12 08:35:32 +00:00
let miltertest = spawn_miltertest_runner(file!());
2020-02-08 09:43:52 +00:00
2020-02-12 08:35:32 +00:00
run("inet:3333@localhost", config).expect("milter execution failed");
2020-02-08 09:43:52 +00:00
let exit_code = miltertest.join().expect("panic in miltertest runner");
assert!(exit_code.success(), "miltertest returned error exit code");
2020-02-12 08:35:32 +00:00
server.join().expect("panic in mock spamd server");
2020-02-08 09:43:52 +00:00
}