Example #1
0
    def test_input_splitter(self):
        m_sbuf = self._make_mock()
        m_lbuf = self._make_mock()

        splitter = InputSplitter(m_sbuf, m_lbuf)

        splitter.write_data('foo')

        self._assertCallsEqual(
            m_sbuf,
            [call.enqueue_data('foo')])

        self._assertCallsEqual(
            m_lbuf,
            [call.write_data('foo')])

        self._reset_mocks()

        splitter.finish()

        self._assertCallsEqual(
            m_sbuf,
            [])

        self._assertCallsEqual(
            m_lbuf,
            [call.finish()])
Example #2
0
    def test_read(self):
        m_select = self._patch('select.select')
        m_read = self._patch('os.read')

        rfd = 42
        m_out = self._make_mock()
        m_select.return_value = ([rfd], [], [])
        m_read.return_value = 'banana'

        self.m.add_source(rfd, m_out, permanent=False)
        cont = self.m.process_events()

        self._assertCallsEqual(m_select, [call([rfd], [], [], SELECT_INTERVAL)])
        self._assertCallsEqual(m_read, [call.read(rfd, BUFSIZE)])
        self._assertCallsEqual(m_out, [call.write_data('banana')])
        self.assertEqual(True, cont)