예제 #1
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
예제 #2
0
def test_rmtree():
    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)

    assert os.path.isdir(sub_sub_dir)
    assert os.path.isdir(sub_dir_1)
    assert os.path.isdir(sub_dir_2)

    fs_util.rmtree(None)
    fs_util.rmtree("gibberish")
    fs_util.rmtree(temp_dir)

    assert not os.path.isdir(sub_sub_dir)
    assert not os.path.isdir(sub_dir_1)
    assert not os.path.isdir(sub_dir_2)

    pass
예제 #3
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
예제 #4
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)
예제 #5
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)