use test_support::subscribe;
#[tokio::test]
async fn readme_example() {
subscribe();
use std::net::SocketAddr;
use std::str::FromStr;
use crate::client::{Client, ClientHandle};
use crate::proto::rr::{DNSClass, Name, Record, RecordType};
use crate::proto::runtime::TokioRuntimeProvider;
use crate::proto::udp::UdpClientStream;
use crate::proto::xfer::DnsResponse;
let address = SocketAddr::from(([8, 8, 8, 8], 53));
let conn = UdpClientStream::builder(address, TokioRuntimeProvider::default()).build();
let (mut client, bg) = Client::connect(conn).await.unwrap();
tokio::spawn(bg);
let name = Name::from_str("www.example.com.").unwrap();
let response: DnsResponse = client
.query(name, DNSClass::IN, RecordType::A)
.await
.unwrap();
let answers: &[Record] = response.answers();
let a_data = answers
.iter()
.flat_map(|record| record.data().as_a())
.collect::<Vec<_>>();
assert!(!a_data.is_empty());
}