···
assert_eq(t, uint16(4), answer.RDLength)
47
+
func TestMessageDecodeWithU14Offset(t *testing.T) {
49
+
0x0e, 0xc3, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00,
50
+
0x00, 0x0d, 0x00, 0x0e, 0x06, 0x6e, 0x73, 0x2d,
51
+
0x33, 0x37, 0x32, 0x09, 0x61, 0x77, 0x73, 0x64,
52
+
0x6e, 0x73, 0x2d, 0x34, 0x36, 0x03, 0x63, 0x6f,
53
+
0x6d, 0x00, 0x00, 0x01, 0x00, 0x01, 0xc0, 0x1d,
54
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
55
+
0x00, 0x14, 0x01, 0x61, 0x0c, 0x67, 0x74, 0x6c,
56
+
0x64, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
57
+
0x73, 0x03, 0x6e, 0x65, 0x74, 0x00, 0xc0, 0x1d,
58
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
59
+
0x00, 0x04, 0x01, 0x62, 0xc0, 0x34, 0xc0, 0x1d,
60
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
61
+
0x00, 0x04, 0x01, 0x63, 0xc0, 0x34, 0xc0, 0x1d,
62
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
63
+
0x00, 0x04, 0x01, 0x64, 0xc0, 0x34, 0xc0, 0x1d,
64
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
65
+
0x00, 0x04, 0x01, 0x65, 0xc0, 0x34, 0xc0, 0x1d,
66
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
67
+
0x00, 0x04, 0x01, 0x66, 0xc0, 0x34, 0xc0, 0x1d,
68
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
69
+
0x00, 0x04, 0x01, 0x67, 0xc0, 0x34, 0xc0, 0x1d,
70
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
71
+
0x00, 0x04, 0x01, 0x68, 0xc0, 0x34, 0xc0, 0x1d,
72
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
73
+
0x00, 0x04, 0x01, 0x69, 0xc0, 0x34, 0xc0, 0x1d,
74
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
75
+
0x00, 0x04, 0x01, 0x6a, 0xc0, 0x34, 0xc0, 0x1d,
76
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
77
+
0x00, 0x04, 0x01, 0x6b, 0xc0, 0x34, 0xc0, 0x1d,
78
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
79
+
0x00, 0x04, 0x01, 0x6c, 0xc0, 0x34, 0xc0, 0x1d,
80
+
0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
81
+
0x00, 0x04, 0x01, 0x6d, 0xc0, 0x34, 0xc0, 0x32,
82
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
83
+
0x00, 0x04, 0xc0, 0x05, 0x06, 0x1e, 0xc0, 0x52,
84
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
85
+
0x00, 0x04, 0xc0, 0x21, 0x0e, 0x1e, 0xc0, 0x62,
86
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
87
+
0x00, 0x04, 0xc0, 0x1a, 0x5c, 0x1e, 0xc0, 0x72,
88
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
89
+
0x00, 0x04, 0xc0, 0x1f, 0x50, 0x1e, 0xc0, 0x82,
90
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
91
+
0x00, 0x04, 0xc0, 0x0c, 0x5e, 0x1e, 0xc0, 0x92,
92
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
93
+
0x00, 0x04, 0xc0, 0x23, 0x33, 0x1e, 0xc0, 0xa2,
94
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
95
+
0x00, 0x04, 0xc0, 0x2a, 0x5d, 0x1e, 0xc0, 0xb2,
96
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
97
+
0x00, 0x04, 0xc0, 0x36, 0x70, 0x1e, 0xc0, 0xc2,
98
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
99
+
0x00, 0x04, 0xc0, 0x2b, 0xac, 0x1e, 0xc0, 0xd2,
100
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
101
+
0x00, 0x04, 0xc0, 0x30, 0x4f, 0x1e, 0xc0, 0xe2,
102
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
103
+
0x00, 0x04, 0xc0, 0x34, 0xb2, 0x1e, 0xc0, 0xf2,
104
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
105
+
0x00, 0x04, 0xc0, 0x29, 0xa2, 0x1e, 0xc1, 0x02,
106
+
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
107
+
0x00, 0x04, 0xc0, 0x37, 0x53, 0x1e, 0xc0, 0x32,
108
+
0x00, 0x1c, 0x00, 0x01, 0x00, 0x02, 0xa3, 0x00,
109
+
0x00, 0x10, 0x20, 0x01, 0x05, 0x03, 0xa8, 0x3e,
110
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
115
+
_ = msg.Decode(bytes)
116
+
// assert_no_error(t, err)
119
+
assert_eq(t, uint16(0x0ec3), msg.Header.ID)
120
+
assert_eq(t, true, msg.Header.QR)
121
+
assert_eq(t, QUERY, msg.Header.OPCode)
122
+
assert_eq(t, false, msg.Header.AA)
123
+
assert_eq(t, false, msg.Header.TC)
124
+
assert_eq(t, false, msg.Header.RD)
125
+
assert_eq(t, false, msg.Header.RA)
126
+
assert_eq(t, uint8(0), msg.Header.Z)
127
+
assert_eq(t, NOERROR, msg.Header.RCode)
128
+
assert_eq(t, uint16(1), msg.Header.QDCount)
129
+
assert_eq(t, uint16(0), msg.Header.ANCount)
130
+
assert_eq(t, uint16(13), msg.Header.NSCount)
131
+
assert_eq(t, uint16(14), msg.Header.ARCount)
134
+
assert_eq(t, 1, len(msg.Question))
135
+
question := msg.Question[0]
136
+
assert_eq(t, "ns-372.awsdns-46.com", question.QName)
137
+
assert_eq(t, AType, question.QType)
138
+
assert_eq(t, IN, question.QClass)
140
+
assert_eq(t, 13, len(msg.Authority))
141
+
assert_eq(t, 14, len(msg.Additional))
func TestMessageEncode(t *testing.T) {
0x8e, 0x19, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x6e, 0x65,