spamassassin-milter/tests/loopback_connection.rs

35 lines
922 B
Rust
Raw Permalink Normal View History

2020-02-08 09:43:52 +00:00
mod common;
pub use common::*;
2020-02-08 09:43:52 +00:00
use indymilter_test::*;
use std::net::Ipv4Addr;
2022-02-21 17:58:24 +00:00
#[tokio::test]
async fn loopback_connection() {
let milter = SpamAssassinMilter::spawn(LOCALHOST, Default::default())
.await
.unwrap();
2020-02-08 09:43:52 +00:00
// 1) A connection from the loopback IP address is accepted.
2020-02-08 09:43:52 +00:00
let mut conn = TestConnection::open(milter.addr()).await.unwrap();
let status = conn.connect("localhost", Ipv4Addr::LOCALHOST).await.unwrap();
assert_eq!(status, Status::Accept);
conn.close().await.unwrap();
// 2) A connection from an unknown IP address (for example, from a UNIX
// domain socket) is also accepted.
2020-02-08 09:43:52 +00:00
let mut conn = TestConnection::open(milter.addr()).await.unwrap();
let status = conn.connect("localhost", SocketInfo::Unknown).await.unwrap();
assert_eq!(status, Status::Accept);
conn.close().await.unwrap();
milter.shutdown().await.unwrap();
2020-02-08 09:43:52 +00:00
}