예제 #1
0
 def test_file_attributes(self):
     uploader = FakeUploader()
     stream = filesystemio.UploaderStream(uploader)
     self.assertEqual(stream.mode, 'wb')
     self.assertFalse(stream.readable())
     self.assertTrue(stream.writable())
     self.assertFalse(stream.seekable())
예제 #2
0
 def _create(self, path, mime_type='application/octet-stream',
             compression_type=CompressionTypes.AUTO):
   stream = io.BufferedWriter(
       filesystemio.UploaderStream(
           HdfsUploader(self._hdfs_client, path)),
       buffer_size=_DEFAULT_BUFFER_SIZE)
   return self._add_compression(stream, path, mime_type, compression_type)
예제 #3
0
    def test_write(self):
        data = b'abcde'
        uploader = FakeUploader()
        stream = filesystemio.UploaderStream(uploader)

        # Unbuffered writes.
        stream.write(memoryview(data[0:1]))
        self.assertEqual(uploader.data[0], data[0])
        self.assertEqual(uploader.last_write_size, 1)
        stream.write(memoryview(data[1:]))
        self.assertEqual(uploader.data, data)
        self.assertEqual(uploader.last_write_size, len(data) - 1)
예제 #4
0
    def test_write_buffered(self):
        data = b'abcde'
        uploader = FakeUploader()
        buffer_size = 2
        stream = io.BufferedWriter(filesystemio.UploaderStream(uploader),
                                   buffer_size)

        # Verify that buffering works: doesn't write to uploader until buffer is
        # filled.
        stream.write(data[0:1])
        self.assertEqual(-1, uploader.last_write_size)
        stream.write(data[1:])
        stream.close()
        self.assertEqual(data, uploader.data)
예제 #5
0
 def test_write_empty(self):
     uploader = FakeUploader()
     stream = filesystemio.UploaderStream(uploader)
     data = b''
     stream.write(memoryview(data))
     self.assertEqual(uploader.data, data)