def setup_drive_data(testcase): # Ironic, using Gsync to setup the tests, but if it fails the tests # will fail anyway, so we will be okay. assert os.path.exists("tests/data") drive = Drive() drive.delete("drive://gsync_unittest/", skip_trash=True) drive.mkdir("drive://gsync_unittest/") drive.create("drive://gsync_unittest/open_for_read.txt", {}) drive.update("drive://gsync_unittest/open_for_read.txt", {}, media_body=MediaFileUpload("tests/data/open_for_read.txt", mimetype=MimeTypes.BINARY_FILE, resumable=True))
def setup_drive_data(testcase): # Ironic, using Gsync to setup the tests, but if it fails the tests # will fail anyway, so we will be okay. assert os.path.exists("tests/data") drive = Drive() drive.delete("drive://gsync_unittest/", skip_trash=True) drive.mkdir("drive://gsync_unittest/") drive.create("drive://gsync_unittest/open_for_read.txt", {}) drive.update("drive://gsync_unittest/open_for_read.txt", {}, media_body=MediaFileUpload("tests/data/open_for_read.txt", mimetype=MimeTypes.BINARY_FILE, resumable=True ) )
def _update_data(self, path, src): debug("Updating remote file: %s" % repr(path)) total_bytes_written = self.bytes_written bytes_written = 0 info = src.get_info() def __callback(status): bytes_written = int(status.resumable_progress) self.bytes_written = total_bytes_written + bytes_written progress = Progress(GsyncOptions.progress, __callback) if GsyncOptions.dry_run: bytes_written = info.fileSize progress(MediaUploadProgress(bytes_written, bytes_written)) else: progress.bytesTotal = info.fileSize drive = Drive() info = drive.update( path, info, media_body=src.get_uploader(), progress_callback=progress ) if info is not None: bytes_written = long(info.get('fileSize', '0')) debug("Final file size: %d" % bytes_written) else: debug("Update failed") progress.complete(bytes_written) self.bytes_written = total_bytes_written + bytes_written
def _update_data(self, path, src): debug("Updating remote file: %s" % repr(path)) total_bytes_written = self.bytes_written bytes_written = 0 info = src.get_info() def __callback(status): bytes_written = int(status.resumable_progress) self.bytes_written = total_bytes_written + bytes_written progress = Progress(GsyncOptions.progress, __callback) if GsyncOptions.dry_run: bytes_written = info.fileSize progress(MediaUploadProgress(bytes_written, bytes_written)) else: progress.bytesTotal = info.fileSize drive = Drive() info = drive.update(path, info, media_body=src.get_uploader(), progress_callback=progress) if info is not None: bytes_written = int(info.get('fileSize', '0')) debug("Final file size: %d" % bytes_written) else: debug("Update failed") progress.complete(bytes_written) self.bytes_written = total_bytes_written + bytes_written
def test_revisions(self): drive = Drive() num_revisions = 6 info = drive.create("drive://gsync_unittest/revision_test", {"description": "revision-0"}) self.assertEqual(info['description'], "revision-0") for revision in range(1, num_revisions): description = "revision-%d" % revision info = drive.update("drive://gsync_unittest/revision_test", {"description": description}, media_body=MediaFileUpload( "tests/data/open_for_read.txt", mimetype=MimeTypes.BINARY_FILE, resumable=True)) self.assertEqual(info['description'], description) f = drive.open("drive://gsync_unittest/revision_test", "r") revisions = f.revisions() self.assertEqual(len(revisions), num_revisions) self.assertEqual(int(revisions[0]['fileSize']), 0) self.assertNotEqual(int(revisions[-1]['fileSize']), 0)
def test_revisions(self): drive = Drive() num_revisions = 6 info = drive.create("drive://gsync_unittest/revision_test", { "description": "revision-0" }) self.assertEqual(info['description'], "revision-0") for revision in range(1, num_revisions): description = "revision-%d" % revision info = drive.update("drive://gsync_unittest/revision_test", { "description": description }, media_body=MediaFileUpload("tests/data/open_for_read.txt", mimetype=MimeTypes.BINARY_FILE, resumable=True ) ) self.assertEqual(info['description'], description) f = drive.open("drive://gsync_unittest/revision_test", "r") revisions = f.revisions() self.assertEqual(len(revisions), num_revisions) self.assertEqual(int(revisions[0]['fileSize']), 0) self.assertNotEqual(int(revisions[-1]['fileSize']), 0)
def _updateFile(self, path, src): debug("Updating remote file: %s" % repr(path)) totalBytesWritten = self.bytesWritten bytesWritten = 0 info = src.getInfo() def _callback(status): bytesWritten = int(status.resumable_progress) self.bytesWritten = totalBytesWritten + bytesWritten progress = Progress(GsyncOptions.progress, _callback) if GsyncOptions.dry_run: bytesWritten = info.fileSize progress(MediaUploadProgress(bytesWritten, bytesWritten)) else: drive = Drive() info = drive.update(path, info, src.getUploader(), progress) if info is not None: bytesWritten = long(info.get('fileSize', '0')) else: debug("Update failed") progress.complete(bytesWritten) self.bytesWritten = totalBytesWritten + bytesWritten
def test_update_with_progress(self): drive = Drive() info = drive.create("drive://gsync_unittest/update_test", {"description": "Old description"}) self.assertEqual(info['title'], "update_test") def progress_callback(status): progress_callback.called = True progress_callback.called = False info = drive.update("drive://gsync_unittest/update_test", {"description": "New description"}, media_body=MediaFileUpload( "tests/data/open_for_read.txt", mimetype=MimeTypes.BINARY_FILE, resumable=True), progress_callback=progress_callback) self.assertEqual(info['description'], "New description") self.assertTrue(int(info['fileSize']) > 0) self.assertTrue(progress_callback.called)
def test_update_with_progress(self): drive = Drive() info = drive.create("drive://gsync_unittest/update_test", { "description": "Old description" }) self.assertEqual(info['title'], "update_test") def progress_callback(status): progress_callback.called = True progress_callback.called = False info = drive.update("drive://gsync_unittest/update_test", { "description": "New description" }, media_body=MediaFileUpload("tests/data/open_for_read.txt", mimetype=MimeTypes.BINARY_FILE, resumable=True ), progress_callback=progress_callback ) self.assertEqual(info['description'], "New description") self.assertTrue(int(info['fileSize']) > 0) self.assertTrue(progress_callback.called)