adns_server/
lib.rs

1mod server;
2pub use server::*;
3
4mod zone_provider;
5pub use zone_provider::*;
6
7mod metrics;
8pub use metrics::*;
9
10#[cfg(test)]
11mod tests {
12    use adns_proto::{Record, TypeData};
13    use adns_zone::Zone;
14
15    use crate::{Server, StaticZoneProvider};
16
17    #[tokio::test]
18    async fn test_server() {
19        env_logger::Builder::new()
20            .parse_env(env_logger::Env::default().default_filter_or("info"))
21            .init();
22        Server::new(
23            "0.0.0.0:5053".parse().unwrap(),
24            "0.0.0.0:5053".parse().unwrap(),
25            StaticZoneProvider(Zone {
26                authoritative: false,
27                tsig_keys: Default::default(),
28                records: vec![Record::new(
29                    "example.com",
30                    300,
31                    TypeData::A("123.123.123.123".parse().unwrap()),
32                )],
33                soa: None,
34                nameservers: vec![],
35                zones: Default::default(),
36                class: Default::default(),
37                allow_md5_tsig: false,
38            }),
39        )
40        .run()
41        .await;
42    }
43}