|
14 | 14 | from typing import Dict, cast # noqa # used in type hints |
15 | 15 |
|
16 | 16 | import zeroconf as r |
17 | | -from zeroconf import const |
| 17 | +from zeroconf import const, current_time_millis |
18 | 18 | from zeroconf import ( |
19 | 19 | DNSHinfo, |
20 | 20 | DNSText, |
@@ -175,6 +175,48 @@ def test_parse_own_packet_response(self): |
175 | 175 | assert len(generated.answers) == 1 |
176 | 176 | assert len(generated.answers) == len(parsed.answers) |
177 | 177 |
|
| 178 | + def test_adding_empty_answer(self): |
| 179 | + generated = r.DNSOutgoing(const._FLAGS_QR_RESPONSE) |
| 180 | + generated.add_answer_at_time( |
| 181 | + None, |
| 182 | + 0, |
| 183 | + ) |
| 184 | + generated.add_answer_at_time( |
| 185 | + r.DNSService( |
| 186 | + "æøå.local.", |
| 187 | + const._TYPE_SRV, |
| 188 | + const._CLASS_IN | const._CLASS_UNIQUE, |
| 189 | + const._DNS_HOST_TTL, |
| 190 | + 0, |
| 191 | + 0, |
| 192 | + 80, |
| 193 | + "foo.local.", |
| 194 | + ), |
| 195 | + 0, |
| 196 | + ) |
| 197 | + parsed = r.DNSIncoming(generated.packets()[0]) |
| 198 | + assert len(generated.answers) == 1 |
| 199 | + assert len(generated.answers) == len(parsed.answers) |
| 200 | + |
| 201 | + def test_adding_expired_answer(self): |
| 202 | + generated = r.DNSOutgoing(const._FLAGS_QR_RESPONSE) |
| 203 | + generated.add_answer_at_time( |
| 204 | + r.DNSService( |
| 205 | + "æøå.local.", |
| 206 | + const._TYPE_SRV, |
| 207 | + const._CLASS_IN | const._CLASS_UNIQUE, |
| 208 | + const._DNS_HOST_TTL, |
| 209 | + 0, |
| 210 | + 0, |
| 211 | + 80, |
| 212 | + "foo.local.", |
| 213 | + ), |
| 214 | + current_time_millis() + 1000000, |
| 215 | + ) |
| 216 | + parsed = r.DNSIncoming(generated.packets()[0]) |
| 217 | + assert len(generated.answers) == 0 |
| 218 | + assert len(generated.answers) == len(parsed.answers) |
| 219 | + |
178 | 220 | def test_match_question(self): |
179 | 221 | generated = r.DNSOutgoing(const._FLAGS_QR_QUERY) |
180 | 222 | question = r.DNSQuestion("testname.local.", const._TYPE_SRV, const._CLASS_IN) |
|
0 commit comments