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}