Пример #1
0
 def check(self):
     from pcs_api.bytes_io import (MemoryByteSource, MemoryByteSink,
                                   StdoutProgressListener)
     from pcs_api.models import (CPath, CUploadRequest, CDownloadRequest)
     msg = "Cloud storage user_id = " + repr(self.storage.get_user_id())
     self.ctx.logger.info(msg)
     msg = "Cloud storage quota = " + repr(self.storage.get_quota())
     self.ctx.logger.info(msg)
     self.ctx.logger.info("Cloud storage is  ready")
     fpath = CPath('/test_dir')
     self.storage.create_folder(fpath)
     bpath = fpath.add("test.txt")
     file_contents_uploaded = b"Test file contents"
     upload_request = CUploadRequest(
         bpath, MemoryByteSource(file_contents_uploaded)).content_type(
             'text/plain')
     upload_request.progress_listener(StdoutProgressListener())
     self.storage.upload(upload_request)
     file_contents_downloaded = MemoryByteSink()
     download_request = CDownloadRequest(bpath, file_contents_downloaded)
     download_request.progress_listener(StdoutProgressListener())
     self.storage.download(download_request)
     self.storage.delete(fpath)
     if file_contents_uploaded != file_contents_downloaded.get_bytes():
         raise RemotePCSError
Пример #2
0
 def put_file(self, local_path, remote_path):
     from pcs_api.bytes_io import (FileByteSource, StdoutProgressListener)
     from pcs_api.models import (CPath, CUploadRequest)
     bpath = CPath(remote_path)
     upload_request = CUploadRequest(bpath, FileByteSource(local_path))
     upload_request.progress_listener(StdoutProgressListener())
     self.storage.upload(upload_request)
Пример #3
0
 def put_bytes(self, local_bytes, remote_path):
     from pcs_api.bytes_io import (MemoryByteSource, StdoutProgressListener)
     from pcs_api.models import (CPath, CUploadRequest)
     byte_source = MemoryByteSource(local_bytes)
     bpath = CPath(remote_path)
     upload_request = CUploadRequest(bpath,
                                     byte_source).content_type('text/plain')
     upload_request.progress_listener(StdoutProgressListener())
     self.storage.upload(upload_request)
Пример #4
0
def test_upload_request_progress_listener():
    mbs = MemoryByteSource(b'content')
    ur = CUploadRequest(CPath('/foo'), mbs)
    assert ur.byte_source() is mbs

    # Now if we decorate:
    pl = StdoutProgressListener()
    ur.progress_listener(pl)
    istream = ur.byte_source().open_stream()
    data = istream.read(1)
    assert pl.current == 1
Пример #5
0
def test_upload_request_progress_listener():
    mbs = MemoryByteSource(b"content")
    ur = CUploadRequest(CPath("/foo"), mbs)
    assert ur.byte_source() is mbs

    # Now if we decorate:
    pl = StdoutProgressListener()
    ur.progress_listener(pl)
    istream = ur.byte_source().open_stream()
    data = istream.read(1)
    assert pl.current == 1