Example #1
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)
Example #2
0
    def test_open_for_read_and_read_data(self):
        drive = Drive()
        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")
        contents = f.read()

        self.assertIsNotNone(contents)
        self.assertNotEqual(contents, "")
Example #3
0
    def test_write(self):
        drive = Drive()

        try:
            drive.open("drive://gsync_unittest/open_for_read.txt", "w")
            self.assertEqual("Expected IOError for unsupported mode", None)
        except IOError:
            pass

        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")
        try:
            f.write("Some data")
            self.assertEqual("Expected IOError for writing to readable file",
                             None)
        except IOError:
            pass
Example #4
0
    def test_open_for_read_and_read_data(self):
        drive = Drive()
        f = drive.open("drive://unittest/open_for_read.txt", "r")
        contents = f.read()

        self.assertIsNotNone(contents)
        self.assertNotEqual(contents, "")
Example #5
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)
Example #6
0
    def test_write(self):
        drive = Drive()

        try:
            drive.open("drive://gsync_unittest/open_for_read.txt", "w")
            self.assertEqual("Expected IOError for unsupported mode", None)
        except IOError:
            pass
            
        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")
        try:
            f.write("Some data")
            self.assertEqual(
                "Expected IOError for writing to readable file", None
            )
        except IOError:
            pass
Example #7
0
    def test_open_for_read_and_seek(self):
        drive = Drive()
        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")

        self.assertNotEqual(int(f._info.fileSize), 0)
        f.seek(0, os.SEEK_END)

        self.assertNotEqual(f.tell(), 0)
Example #8
0
    def test_open_for_read_and_seek(self):
        drive = Drive()
        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")

        self.assertNotEqual(int(f._info.fileSize), 0)
        f.seek(0, os.SEEK_END)

        self.assertNotEqual(f.tell(), 0)
Example #9
0
    def test_mimetypes(self):
        drive = Drive()

        drive.mkdir("drive://gsync_unittest/mimetype_test_dir")

        f = drive.open("drive://gsync_unittest/mimetype_test_dir", "r")
        self.assertEqual(f.mimetype(), MimeTypes.FOLDER)

        f.mimetype(MimeTypes.BINARY_FILE)
        self.assertEqual(f.mimetype(), MimeTypes.BINARY_FILE)
Example #10
0
    def test_mimetypes(self):
        drive = Drive()

        drive.mkdir("drive://gsync_unittest/mimetype_test_dir")

        f = drive.open("drive://gsync_unittest/mimetype_test_dir", "r")
        self.assertEqual(f.mimetype(), MimeTypes.FOLDER)

        f.mimetype(MimeTypes.BINARY_FILE)
        self.assertEqual(f.mimetype(), MimeTypes.BINARY_FILE)
Example #11
0
    def get_uploader(self, path = None):
        info = self.get_info(path)
        if info is None:
            raise Exception("Could not obtain file information: %s" % path)

        path = self.get_path(path)
        drive = Drive()

        debug("Opening remote file for reading: %s" % repr(path))

        fd = drive.open(path, "r")
        if fd is None:
            raise Exception("Open failed: %s" % path)

        return MediaIoBaseUpload(fd, info.mimeType, resumable=True)
Example #12
0
    def get_uploader(self, path=None):
        info = self.get_info(path)
        if info is None:
            raise Exception("Could not obtain file information: %s" % path)

        path = self.get_path(path)
        drive = Drive()

        debug("Opening remote file for reading: %s" % repr(path))

        fd = drive.open(path, "r")
        if fd is None:
            raise Exception("Open failed: %s" % path)

        return MediaIoBaseUpload(fd, info.mimeType, resumable=True)
Example #13
0
    def test_close(self):
        drive = Drive()

        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")
        contents = f.read()
        self.assertNotEqual(contents, None)

        f.close()
        self.assertTrue(f.closed)

        try:
            f.seek(0)
            self.assertEqual("Expected IOError for seek on closed file", None)
        except IOError:
            pass
Example #14
0
    def test_close(self):
        drive = Drive()

        f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")
        contents = f.read()
        self.assertNotEqual(contents, None)

        f.close()
        self.assertTrue(f.closed)

        try:
            f.seek(0)
            self.assertEqual("Expected IOError for seek on closed file", None)
        except IOError:
            pass
Example #15
0
    def test_open_for_read_and_seek(self):
        drive = Drive()
        f = drive.open("drive://unittest/open_for_read.txt", "r")
        f.seek(0, os.SEEK_END)

        self.assertNotEqual(f.tell(), 0)
Example #16
0
 def test_open_for_read(self):
     drive = Drive()
     f = drive.open("drive://unittest/open_for_read.txt", "r")
     self.assertIsNotNone(f)
Example #17
0
    def test_open_for_read_and_seek(self):
        drive = Drive()
        f = drive.open("drive://unittest/open_for_read.txt", "r")
        f.seek(0, os.SEEK_END)

        self.assertNotEqual(f.tell(), 0)
Example #18
0
 def test_open_for_read(self):
     drive = Drive()
     f = drive.open("drive://gsync_unittest/open_for_read.txt", "r")
     self.assertIsNotNone(f)