示例#1
0
    def test_wait(self, epoll):
        fd = 0
        channel = Mock(method_queue=[Mock()])
        timeout = 10

        epoll.return_value.poll.return_value = [fd]

        # test
        Receiver._wait(fd, channel, timeout)

        # validation
        self.assertFalse(epoll.called)
        channel.wait.assert_called_once_with()
示例#2
0
    def test_wait_with_queued(self, epoll):
        fd = 0
        channel = Mock(method_queue=[Mock()])
        timeout = 10

        epoll.return_value.poll.return_value = [fd]

        # test
        Receiver._wait(fd, channel, timeout)

        # validation
        self.assertFalse(epoll.called)
        channel.wait.assert_called_once_with()
示例#3
0
    def test_wait_nothing(self, epoll):
        fd = 0
        channel = Mock(method_queue=[])
        timeout = 10

        epoll.return_value.poll.return_value = []

        # test
        Receiver._wait(fd, channel, timeout)

        # validation
        epoll.assert_called_once_with()
        epoll.return_value.register.assert_called_with(fd, select.EPOLLIN)
        epoll.return_value.poll.assert_called_with(timeout)
        self.assertFalse(channel.wait.called)
示例#4
0
    def test_wait_nothing(self, epoll):
        fd = 0
        channel = Mock(method_queue=[])
        timeout = 10

        epoll.return_value.poll.return_value = []

        # test
        Receiver._wait(fd, channel, timeout)

        # validation
        epoll.assert_called_once_with()
        epoll.return_value.register.assert_called_with(fd, select.EPOLLIN)
        epoll.return_value.poll.assert_called_with(timeout)
        self.assertFalse(channel.wait.called)
示例#5
0
    def test_wait(self, basic, epoll):
        fd = 0
        channel = Mock(method_queue=[])
        timeout = 10

        epoll.return_value.poll.return_value = [fd]
        basic.Deliver = (10, 70)

        # test
        Receiver._wait(fd, channel, timeout)

        # validation
        epoll.assert_called_once_with()
        epoll.return_value.register.assert_called_with(fd, select.EPOLLIN)
        epoll.return_value.poll.assert_called_with(timeout)
        channel.wait.assert_called_once_with(basic.Deliver)
示例#6
0
    def test_wait(self, basic, epoll):
        fd = 0
        channel = Mock(method_queue=[])
        timeout = 10

        epoll.return_value.poll.return_value = [fd]
        basic.Deliver = (10, 70)

        # test
        Receiver._wait(fd, channel, timeout)

        # validation
        epoll.assert_called_once_with()
        epoll.return_value.register.assert_called_with(fd, select.EPOLLIN)
        epoll.return_value.poll.assert_called_with(timeout)
        channel.wait.assert_called_once_with(basic.Deliver)
示例#7
0
    def test_fetch_empty(self):
        channel = Mock()
        reader = Mock(channel=channel)

        # test
        r = Receiver(reader)
        r.inbox = Mock()
        r.inbox.empty.return_value = False
        r.inbox.get.side_effect = Empty
        r._wait = Mock(side_effect=r.inbox.put)
        self.assertRaises(r.fetch)
示例#8
0
    def test_fetch_empty(self):
        channel = Mock()
        reader = Mock(channel=channel)

        # test
        r = Receiver(reader)
        r.inbox = Mock()
        r.inbox.empty.return_value = False
        r.inbox.get.side_effect = Empty
        r._wait = Mock(side_effect=r.inbox.put)
        self.assertRaises(r.fetch)
示例#9
0
    def test_fetch(self):
        timeout = 10
        channel = Mock()
        reader = Mock(channel=channel)
        received = 33

        # test
        r = Receiver(reader)
        r.inbox = Mock()
        r.inbox.empty.return_value = True
        r.inbox.get.return_value = received
        r._wait = Mock(side_effect=r.inbox.put)
        message = r.fetch(timeout)

        # validation
        fd = channel.connection.sock.fileno.return_value
        r._wait.assert_called_once_with(fd, channel, timeout)
        self.assertEqual(message, received)
示例#10
0
    def test_fetch(self):
        timeout = 10
        channel = Mock()
        reader = Mock(channel=channel)
        received = 33

        # test
        r = Receiver(reader)
        r.inbox = Mock()
        r.inbox.empty.return_value = True
        r.inbox.get.return_value = received
        r._wait = Mock(side_effect=r.inbox.put)
        message = r.fetch(timeout)

        # validation
        fd = channel.connection.sock.fileno.return_value
        r._wait.assert_called_once_with(fd, channel, timeout)
        self.assertEqual(message, received)