def data_received(self, data): self.buffer = utils.handle_dns_tcp_data(self.buffer + data, self.receive_helper)
def test_complete_multiple(self): # Muliple complete messages will call the cb multiple times res = utils.handle_dns_tcp_data(self._data + self._data, self._cb) self.assertEqual(res, b"") self.assertIsInstance(self._cb_data[0], dns.message.Message) self.assertIsInstance(self._cb_data[1], dns.message.Message)
def test_complete_plus_partial(self): # Complete message (calls cb once) + partial message res = utils.handle_dns_tcp_data(self._data + self._data[0:10], self._cb) self.assertEqual(res, self._data[0:10]) self.assertIsInstance(self._cb_data[0], dns.message.Message)
def test_complete(self): # Complete message (calls cb once) res = utils.handle_dns_tcp_data(self._data, self._cb) self.assertEqual(res, b"") self.assertIsInstance(self._cb_data[0], dns.message.Message)
def test_partial(self): # Partial message (no cb), returns itself res = utils.handle_dns_tcp_data(self._data[0:10], self._cb) self.assertEqual(res, self._data[0:10]) self.assertEqual(self._cb_data, [])
def test_short(self): # Short message (no length check), returns itself res = utils.handle_dns_tcp_data(self._data[0:1], self._cb) self.assertEqual(res, self._data[0:1]) self.assertEqual(self._cb_data, [])