Ejemplo n.º 1
0
 def _PrepareSockets(self):
     Server._PrepareSockets(self)
     self._proxyfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     self._fdmap[self._proxyfd.fileno()] = self._proxyfd
     self._poll.register(self._proxyfd.fileno(),
             (select.POLLIN | select.POLLPRI | select.POLLERR))
Ejemplo n.º 2
0
class SocketTests(unittest.TestCase):
    def setUp(self):
        self.orgsocket = socket.socket
        socket.socket = MockSocket
        self.server = Server()

    def tearDown(self):
        socket.socket = self.orgsocket

    def testBind(self):
        self.server.BindToAddress('192.168.13.13')
        self.assertEqual(len(self.server.authfds), 1)
        self.assertEqual(self.server.authfds[0].address,
                ('192.168.13.13', 1812))

        self.assertEqual(len(self.server.acctfds), 1)
        self.assertEqual(self.server.acctfds[0].address,
                ('192.168.13.13', 1813))

    def testGrabPacket(self):
        def gen(data):
            res = TrivialObject()
            res.data = data
            return res

        fd = MockFd()
        fd.source = object()
        pkt = self.server._GrabPacket(gen, fd)
        self.failUnless(isinstance(pkt, TrivialObject))
        self.failUnless(pkt.fd is fd)
        self.failUnless(pkt.source is fd.source)
        self.failUnless(pkt.data is fd.data)

    def testPrepareSocketNoFds(self):
        self.server._poll = MockPoll()
        self.server._PrepareSockets()

        self.assertEqual(self.server._poll.registry, [])
        self.assertEqual(self.server._realauthfds, [])
        self.assertEqual(self.server._realacctfds, [])

    def testPrepareSocketAuthFds(self):
        self.server._poll = MockPoll()
        self.server._fdmap = {}
        self.server.authfds = [MockFd(12), MockFd(14)]
        self.server._PrepareSockets()

        self.assertEqual(list(self.server._fdmap.keys()), [12, 14])
        self.assertEqual(self.server._poll.registry,
                [(12, select.POLLIN | select.POLLPRI | select.POLLERR),
                 (14, select.POLLIN | select.POLLPRI | select.POLLERR)])

    def testPrepareSocketAcctFds(self):
        self.server._poll = MockPoll()
        self.server._fdmap = {}
        self.server.acctfds = [MockFd(12), MockFd(14)]
        self.server._PrepareSockets()

        self.assertEqual(list(self.server._fdmap.keys()), [12, 14])
        self.assertEqual(self.server._poll.registry,
                [(12, select.POLLIN | select.POLLPRI | select.POLLERR),
                 (14, select.POLLIN | select.POLLPRI | select.POLLERR)])
Ejemplo n.º 3
0
 def _PrepareSockets(self):
     Server._PrepareSockets(self)
     self._proxyfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     self._fdmap[self._proxyfd.fileno()] = self._proxyfd
     self._poll.register(self._proxyfd.fileno(),
                         (select.POLLIN | select.POLLPRI | select.POLLERR))