1234567891011121314151617181920212223242526272829303132333435363738394041 |
- use dns::{Request, Flags, Query, Labels, QClass};
- use dns::record::RecordType;
- use pretty_assertions::assert_eq;
- #[test]
- fn build_request() {
- let request = Request {
- transaction_id: 0xceac,
- flags: Flags::query(),
- query: Query {
- qname: Labels::encode("rfcs.io").unwrap(),
- qclass: QClass::Other(0x42),
- qtype: RecordType::from(0x1234),
- },
- additional: Some(Request::additional_record()),
- };
- let result = vec![
- 0xce, 0xac,
- 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-
- 0x04, 0x72, 0x66, 0x63, 0x73, 0x02, 0x69, 0x6f, 0x00,
- 0x12, 0x34,
- 0x00, 0x42,
-
- 0x00,
- 0x00, 0x29,
- 0x02, 0x00,
- 0x00,
- 0x00,
- 0x00, 0x00,
- 0x00, 0x00,
- ];
- assert_eq!(request.to_bytes().unwrap(), result);
- }
|