Example #1
0
def test_copy_file():
    temp_dir = appdirs.get_temp_dir()

    src = temp_utils.make_temporary_file("test", dir=temp_dir)
    dst = temp_utils.make_temporary_file("boo", dir=temp_dir)

    with pytest.raises(Exception):
        fs_util.copy_file(None, "blah")
    with pytest.raises(Exception):
        fs_util.copy_file("source", None)
    with pytest.raises(Exception):
        fs_util.copy_file("source", "dest")
    with pytest.raises(Exception):
        fs_util.copy_file(temp_dir, temp_dir + "/dest", False)

    fs_util.copy_file(src, dst)
Example #2
0
def test_copy_tree():
    temp_dir = appdirs.get_temp_dir()
    dst_name = temp_dir + temp_utils.make_random_name(5)
    path_temp = temp_dir + temp_utils.make_random_name(5)
    dst_name_2 = os.path.join(path_temp, temp_utils.make_random_name(3))

    os.mkdir(dst_name)

    file_src = temp_utils.make_temporary_file("test", dir=temp_dir)

    with pytest.raises(Exception):
        fs_util.copy_tree(None, "dest")
    with pytest.raises(Exception):
        fs_util.copy_tree(temp_dir, None)
    with pytest.raises(Exception):
        fs_util.copy_tree("source", "dest")
    with pytest.raises(Exception):
        fs_util.copy_tree(file_src, dst_name)
    with pytest.raises(Exception):
        fs_util.copy_tree(temp_dir, dst_name, False)
    with pytest.raises(Exception):
        fs_util.copy_tree(temp_dir, dst_name_2, create_parent=False)
    with pytest.raises(Exception):
        fs_util.copy_tree(temp_dir, '')

    fs_util.copy_tree(temp_dir, dst_name)
    pass
Example #3
0
def test_remove_child_files_and_folders():

    temp_dir = appdirs.get_temp_dir()

    for i in range(10):
        sub_dir = temp_dir + "/" + str(i)
        os.mkdir(sub_dir)
        path = os.path.join(temp_dir, sub_dir)
        file_path = ""

        if i % 2 == 0:
            tmp_file = temp_utils.make_temporary_file("notes", dir=sub_dir)
            file_path = os.path.join(path, tmp_file)
            assert os.path.isfile(file_path)

        else:
            assert not os.path.isfile(file_path)

        if i % 3 == 0:
            fs_util.remove_child_files_and_folders(temp_dir)
            assert not os.path.exists(path)
            assert not os.path.isfile(file_path)

        else:
            assert os.path.exists(path)
Example #4
0
def test_get_list_of_files_and_folders_in_tree():
    assert [] == fs_util.get_list_of_files_and_folders_in_tree(None)
    assert [] == fs_util.get_list_of_files_and_folders_in_tree("gibberish")

    temp_dir = appdirs.get_temp_dir()
    sub_dir_1 = os.path.join(temp_dir, temp_utils.make_random_name(5))
    sub_dir_2 = os.path.join(temp_dir, temp_utils.make_random_name(5))
    sub_sub_dir = os.path.join(sub_dir_2, temp_utils.make_random_name(3))

    os.makedirs(sub_sub_dir)
    os.makedirs(sub_dir_1)

    f1 = temp_utils.make_temporary_file("test", dir=temp_dir)
    f2 = temp_utils.make_temporary_file("test2", dir=sub_dir_1)
    f3 = temp_utils.make_temporary_file("test3", dir=sub_sub_dir)

    lst = fs_util.get_list_of_files_and_folders_in_tree(temp_dir)

    assert f1 in lst
    assert f2 in lst
    assert f3 in lst
    assert sub_sub_dir in lst
    assert sub_dir_1 in lst
Example #5
0
def test_make_executable():
    if is_osx:
        path = appdirs.get_temp_dir()
        exe_path = temp_utils.make_temporary_file("test",
                                                  suffix=".exe",
                                                  dir=path)

        fs_util.make_executable(None)
        fs_util.make_executable("does_not_exist")
        fs_util.make_executable(exe_path)
        pass

    else:
        fs_util.make_executable(None)
Example #6
0
def test_remove_read_only_files_once():
    temp_dir = appdirs.get_temp_dir()
    sub_dir_1 = os.path.join(temp_dir, temp_utils.make_random_name(5))
    sub_dir_2 = os.path.join(temp_dir, temp_utils.make_random_name(5))
    sub_sub_dir = os.path.join(sub_dir_2, temp_utils.make_random_name(3))

    os.makedirs(sub_sub_dir)
    os.makedirs(sub_dir_1)

    f1 = temp_utils.make_temporary_file("test", dir=temp_dir)
    f2 = temp_utils.make_temporary_file("test2", dir=sub_dir_1)
    f3 = temp_utils.make_temporary_file("test3", dir=sub_sub_dir)

    os.chmod(f1, stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
    os.chmod(f2, stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
    os.chmod(f3, stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)

    assert os.path.isdir(temp_dir)
    assert os.path.isdir(sub_sub_dir)

    lst = fs_util.remove_read_only_files(temp_dir, recursive=False)

    assert os.path.isdir(sub_sub_dir)
    assert os.path.isdir(sub_dir_1)
Example #7
0
def test_rename_folder():
    temp_dir = appdirs.get_temp_dir()
    dst_name = temp_dir + temp_utils.make_random_name(5)
    os.mkdir(dst_name)

    file_dst = temp_utils.make_temporary_file("test", dir=dst_name)

    with pytest.raises(Exception):
        fs_util.rename_folder(None, "dest")
    with pytest.raises(Exception):
        fs_util.rename_folder(temp_dir, None)
    with pytest.raises(Exception):
        fs_util.rename_folder("fake_path/fake", dst_name)
    with pytest.raises(Exception):
        fs_util.rename_folder(temp_dir, file_dst)
    with pytest.raises(Exception):
        fs_util.rename_folder(temp_dir, dst_name, False)

    fs_util.rename_folder("fake_path/fake", dst_name, ignore_empty_src=True)
    fs_util.rename_folder(temp_dir, dst_name)
Example #8
0
def test_backup_folder():
    temp_dir = appdirs.get_temp_dir()
    dst_name = temp_dir + ".bak"

    # destination folder (already exists to trigger error below)
    os.mkdir(dst_name)

    file_src = temp_utils.make_temporary_file("test", dir=temp_dir)

    with pytest.raises(Exception):
        fs_util.backup_folder(None)
    with pytest.raises(Exception):
        fs_util.backup_folder(file_src)

    # backup dest already exists exception
    with pytest.raises(Exception):
        fs_util.backup_folder(temp_dir, ".bak", False)

    d1 = fs_util.backup_folder(temp_dir, ".bak")
    d2 = fs_util.backup_folder(temp_dir)
    pass