示例#1
0
 def test_long_name(self):
     generated = r.DNSOutgoing(r._FLAGS_QR_RESPONSE)
     question = r.DNSQuestion(
         "this.is.a.very.long.name.with.lots.of.parts.in.it.local.",
         r._TYPE_SRV, r._CLASS_IN)
     generated.add_question(question)
     r.DNSIncoming(generated.packet())
示例#2
0
 def test_same_name(self):
     name = "paired.local."
     generated = r.DNSOutgoing(r._FLAGS_QR_RESPONSE)
     question = r.DNSQuestion(name, r._TYPE_SRV, r._CLASS_IN)
     generated.add_question(question)
     generated.add_question(question)
     r.DNSIncoming(generated.packet())
示例#3
0
 def test_match_question(self):
     generated = r.DNSOutgoing(r._FLAGS_QR_QUERY)
     question = r.DNSQuestion("testname.local.", r._TYPE_SRV, r._CLASS_IN)
     generated.add_question(question)
     parsed = r.DNSIncoming(generated.packet())
     self.assertEqual(len(generated.questions), 1)
     self.assertEqual(len(generated.questions), len(parsed.questions))
     self.assertEqual(question, parsed.questions[0])
示例#4
0
 def test_numbers_questions(self):
     generated = r.DNSOutgoing(r._FLAGS_QR_RESPONSE)
     question = r.DNSQuestion("testname.local.", r._TYPE_SRV, r._CLASS_IN)
     for i in range(10):
         generated.add_question(question)
     bytes = generated.packet()
     (numQuestions, numAnswers, numAuthorities,
      numAdditionals) = struct.unpack('!4H', bytes[4:12])
     self.assertEqual(numQuestions, 10)
     self.assertEqual(numAnswers, 0)
     self.assertEqual(numAuthorities, 0)
     self.assertEqual(numAdditionals, 0)
示例#5
0
 def test_dns_question_repr(self):
     question = r.DNSQuestion('irrelevant', r._TYPE_SRV,
                              r._CLASS_IN | r._CLASS_UNIQUE)
     repr(question)
     assert not question != question
示例#6
0
 def test_exceedingly_long_name_part(self):
     name = "%s.local." % ("a" * 1000)
     generated = r.DNSOutgoing(r._FLAGS_QR_RESPONSE)
     question = r.DNSQuestion(name, r._TYPE_SRV, r._CLASS_IN)
     generated.add_question(question)
     self.assertRaises(r.NamePartTooLongException, generated.packet)
示例#7
0
 def test_exceedingly_long_name(self):
     generated = r.DNSOutgoing(r._FLAGS_QR_RESPONSE)
     name = "%slocal." % ("part." * 1000)
     question = r.DNSQuestion(name, r._TYPE_SRV, r._CLASS_IN)
     generated.add_question(question)
     r.DNSIncoming(generated.packet())
示例#8
0
 def test_parse_own_packet_question(self):
     generated = r.DNSOutgoing(r._FLAGS_QR_QUERY)
     generated.add_question(
         r.DNSQuestion("testname.local.", r._TYPE_SRV, r._CLASS_IN))
     r.DNSIncoming(generated.packet())