Esempio n. 1
0
 def test_write_soon_filewrapper(self):
     from waitress.buffers import ReadOnlyFileBasedBuffer
     f = io.BytesIO(b'abc')
     wrapper = ReadOnlyFileBasedBuffer(f, 8192)
     wrapper.prepare()
     inst, sock, map = self._makeOneWithMap()
     outbufs = inst.outbufs
     orig_outbuf = outbufs[0]
     wrote = inst.write_soon(wrapper)
     self.assertEqual(wrote, 3)
     self.assertEqual(len(outbufs), 3)
     self.assertEqual(outbufs[0], orig_outbuf)
     self.assertEqual(outbufs[1], wrapper)
     self.assertEqual(outbufs[2].__class__.__name__, 'OverflowableBuffer')
Esempio n. 2
0
    def test_write_soon_filewrapper(self):
        from waitress.buffers import ReadOnlyFileBasedBuffer

        f = io.BytesIO(b"abc")
        wrapper = ReadOnlyFileBasedBuffer(f, 8192)
        wrapper.prepare()
        inst, sock, map = self._makeOneWithMap()

        # _flush_some will no longer flush
        def send(_):
            return 0

        sock.send = send

        outbufs = inst.outbufs
        wrote = inst.write_soon(wrapper)
        self.assertEqual(wrote, 3)
        self.assertEqual(len(outbufs), 2)
        self.assertEqual(outbufs[0], wrapper)
        self.assertEqual(outbufs[1].__class__.__name__, "OverflowableBuffer")