예제 #1
0
def test_insertFile(request_mock) -> None:
    request_mock._iterable.append(
        ({"status": "200"}, read_datafile("uploadfile.json", "rb")),
    )
    f = Folder("myfolder", "0123456")
    newfile = f.insertFile("Test")
    assert newfile is not None
    assert newfile.file_id == "TESTLNyXuunGewRG7dSV6Qia50wP7-xiL"
    assert newfile.file_name == "Test"
    assert newfile.client == f.client
예제 #2
0
def test_uploadFile(request_mock) -> None:
    request_mock._iterable.append(
        ({"status": "200"}, read_datafile("uploadfile.json", "rb")),
    )
    f = Folder("myfolder", "0123456")
    with tempfile.NamedTemporaryFile("w") as tmp:
        with open(tmp.name, "w", encoding="utf-8") as fp:
            fp.write("test")

        id = f.uploadFile(tmp.name, "text/plain", update=False)
        assert id == "TESTLNyXuunGewRG7dSV6Qia50wP7-xiL"
예제 #3
0
def test_downloadFile(request_mock) -> None:
    request_mock._iterable.append(
        ({"status": "200"}, read_datafile("findfile-text.json", "rb")),
    )
    request_mock._iterable.append(
        ({"status": "206"}, "test"),
    )
    f = Folder("myfolder", "0123456")
    with tempfile.NamedTemporaryFile("w") as tmp:
        path = f.downloadFile("test.txt", tmp.name)
        assert path == tmp.name
        with open(tmp.name, "r", encoding="utf-8") as fp:
            assert fp.read() == "test"
예제 #4
0
def test_hasFile(request_mock) -> None:
    request_mock._iterable.append(
        ({"status": "200"}, read_datafile("findfile-text.json", "rb")),
    )
    request_mock._iterable.append(
        ({"status": "206"}, "test"),
    )
    f = Folder("myfolder", "0123456")
    with tempfile.TemporaryDirectory() as tmp:
        downloadpath = os.path.join(tmp, "test.txt")
        path = f.hasFile("test.txt", downloadpath)
        assert path == downloadpath
        with open(downloadpath, "r", encoding="utf-8") as fp:
            assert fp.read() == "test"
        assert f.hasFile("test.txt", downloadpath) == downloadpath
예제 #5
0
파일: files.py 프로젝트: upOwa/gapi-helper
    def do(self) -> None:
        DriveService.configure(self.options.get("credentials"))
        user = self.options.get("user")
        folderId = self.options.get("folderId")
        delegatedService = DriveService(user)

        folder = Folder("myfolder", folderId, client=delegatedService)
        lst = folder.list()
        if lst:
            for file in lst:
                fileId = file.get("id")
                fileName = file.get("name")
                fileIsFolder = file.get("mimeType") == "application/vnd.google-apps.folder"
                print(f"Found {fileName} at {fileId} (is folder={fileIsFolder})")
        else:
            print("Could not find folder")
예제 #6
0
def test_findFile(request_mock) -> None:
    request_mock._iterable.append(
        ({"status": "200"}, read_datafile("findfile.json", "rb")),
    )
    f = Folder("myfolder", "0123456").findFile("My File")
    assert f is not None
    assert f["name"] == "My File"
    assert f["id"] == "ABCDEF"
예제 #7
0
def test_copyTo(request_mock) -> None:
    request_mock._iterable.append(
        ({"status": "200"}, read_datafile("copyfile.json", "rb")),
    )

    f = File("myfile", "0123456")
    folder = Folder("myfolder", "abcdef")
    new_file = f.copyTo(folder, "New name")
    assert new_file.file_id == "MyNewId__"
    assert new_file.file_name == "Copy"
예제 #8
0
def test_list(request_mock) -> None:
    request_mock._iterable.append(({"status": "200"}, read_datafile("listfolder1.json", "rb")))
    request_mock._iterable.append(({"status": "200"}, read_datafile("listfolder2.json", "rb")))
    request_mock._iterable.append(({"status": "200"}, read_datafile("listfolder3.json", "rb")))
    f = Folder("myfolder", "0123456").list()
    assert f is not None
    assert len(f) == 14
    assert f[0]["name"] == "File 1"
    assert f[0]["id"] == "IzKnjveb1mZ6TDkmO2BZ"

    assert f[13]["name"] == "File 14"
    assert f[13]["id"] == "c39VQkQtoMhZMYnEDqqn"
예제 #9
0
def test_init(request_mock) -> None:
    f = Folder("myfile", "0123456")
    assert f.client is not None