def test_cp_file(storage): fs = AzureBlobFileSystem(account_name=storage.account_name, connection_string=CONN_STR) fs.mkdir("homedir") fs.mkdir("homedir/enddir") fs.touch("homedir/startdir/test_file.txt") fs.cp_file("homedir/startdir/test_file.txt", "homedir/enddir/test_file.txt") files = fs.ls("homedir/enddir") assert "homedir/enddir/test_file.txt" in files fs.rm("homedir", recursive=True)
def test_makedir_rmdir(storage, caplog): fs = AzureBlobFileSystem( account_name=storage.account_name, connection_string=CONN_STR, ) fs.makedir("new-container") assert "new-container" in fs.ls("") assert fs.ls("new-container") == [] with fs.open(path="new-container/file.txt", mode="wb") as f: f.write(b"0123456789") with fs.open("new-container/dir/file.txt", "wb") as f: f.write(b"0123456789") with fs.open("new-container/dir/file2.txt", "wb") as f: f.write(b"0123456789") # Verify that mkdir will raise an exception if the directory exists # and exist_ok is False with pytest.raises(FileExistsError): fs.makedir("new-container/dir/file.txt", exist_ok=False) # mkdir should raise an error if the container exists and # we try to create a nested directory, with exist_ok=False with pytest.raises(FileExistsError): fs.makedir("new-container/dir2", exist_ok=False) # Check that trying to overwrite an existing nested file in append mode works as expected # if exist_ok is True fs.makedir("new-container/dir/file2.txt", exist_ok=True) assert "new-container/dir/file2.txt" in fs.ls("new-container/dir") # Also verify you can make a nested directory structure with fs.open("new-container/dir2/file.txt", "wb") as f: f.write(b"0123456789") assert "new-container/dir2/file.txt" in fs.ls("new-container/dir2") fs.rm("new-container/dir2", recursive=True) fs.rm("new-container/dir", recursive=True) fs.touch("new-container/file2.txt") assert fs.ls("new-container") == [ "new-container/file.txt", "new-container/file2.txt", ] fs.rm("new-container/file.txt") fs.rm("new-container/file2.txt") fs.rmdir("new-container") assert "new-container" not in fs.ls("")