TestDnsClient.py 1.1 KB
import struct
import unittest
import mock

from os.path import dirname, realpath
from sys import argv, path
path.append(dirname(dirname(realpath(__file__))) + '/lib')

from DnsClient import DnsClient

class TestDnsClient(unittest.TestCase):
    def setUp(self):
        self._remote_addr = ('10.1.0.10', 1212)

        self._client = DnsClient(self._remote_addr[0], self._remote_addr[1])
        self._client._client = mock.Mock()
        self._client._proto  = mock.Mock()

    def testGetIp(self):
        request           = mock.Mock()
        response          = mock.Mock()
        response._answers = [('foo', 1, 1, 15, '\x01\x02\x03\x04')]
        self._client._proto.createRequest.return_value  = request
        self._client._client.getRemoteAddr.return_value = self._remote_addr
        self._client._client.issue.return_value         = response
        self.assertEqual(self._client.getIp('foo'), '1.2.3.4')

def suite():
    return unittest.TestLoader().loadTestsFromTestCase(TestDnsClient)

if __name__ == '__main__':
    unittest.TextTestRunner(verbosity=2).run(suite())

# vim: set ft=python et ts=8 sw=4 sts=4: