Пример #1
0
 def testReadLine(self):
     stream = HTTPInputStream(BytesIO(data), {})
     output = stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     output += stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     output += stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     output += stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     self.assertEqual(data, self.getCacheStreamValue(stream))
Пример #2
0
 def testReadLine(self):
     stream = HTTPInputStream(BytesIO(data), {})
     output = stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     output += stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     output += stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     output += stream.readline()
     self.assertEqual(output, self.getCacheStreamValue(stream))
     self.assertEqual(data, self.getCacheStreamValue(stream))
Пример #3
0
class HTTPInputStreamTests(unittest.TestCase):

    def setUp(self):
        self.stream = HTTPInputStream(StringIO(data), {})

    def getCacheStreamValue(self):
        self.stream.cacheStream.seek(0)
        result = self.stream.cacheStream.read()
        # We just did a read on a file opened for update.  If the next
        # operation on that file is a write, behavior is 100% undefined,
        # and it in fact frequently (but not always) blows up on Windows.
        # Behavior is 100% defined instead if we explictly seek.  Since
        # we expect to be at EOF now, explicitly seek to the end.
        self.stream.cacheStream.seek(0, 2)
        return result

    def testRead(self):
        output = ''
        self.assertEqual(output, self.getCacheStreamValue())
        output += self.stream.read(5)
        self.assertEqual(output, self.getCacheStreamValue())
        output += self.stream.read()
        self.assertEqual(output, self.getCacheStreamValue())
        self.assertEqual(data, self.getCacheStreamValue())

    def testReadLine(self):
        output = self.stream.readline()
        self.assertEqual(output, self.getCacheStreamValue())
        output += self.stream.readline()
        self.assertEqual(output, self.getCacheStreamValue())
        output += self.stream.readline()
        self.assertEqual(output, self.getCacheStreamValue())
        output += self.stream.readline()
        self.assertEqual(output, self.getCacheStreamValue())
        self.assertEqual(data, self.getCacheStreamValue())

    def testReadLines(self):
        output = ''.join(self.stream.readlines(4))
        self.assertEqual(output, self.getCacheStreamValue())
        output += ''.join(self.stream.readlines())
        self.assertEqual(output, self.getCacheStreamValue())
        self.assertEqual(data, self.getCacheStreamValue())

    def testGetChacheStream(self):
        self.stream.read(5)
        self.assertEqual(data, self.stream.getCacheStream().read())