def mkfiles(): try: shutil.rmtree(test_dir) except FileNotFoundError: pass mkdir(test_dir) for i in range(N): touch(os.path.join(test_dir, str(i)))
def mkfiles(mkdirname): try: shutil.rmtree(mkdirname) except FileNotFoundError: pass mkdir(mkdirname) for i in range(N): touch(os.path.join(mkdirname, str(i)))
def mkfiles(mkdirname): try: shutil.rmtree(mkdirname) except FileNotFoundError: pass mkdir(mkdirname) for i in range(10): with open(os.path.join(mkdirname, str(i)), "wt") as f: f.write("hello world")
def test_exceptions_raised(green): from cloudfiles import CloudFiles, exceptions from cloudfiles.lib import mkdir path = compute_url("file", "exceptions_raised") cf = CloudFiles(path, green=green) pth = mkdir(path.replace("file://", "")) with open(f"{pth}/wontdecompress.gz", "wb") as f: f.write(b"not a valid gzip stream") try: x = cf.get("wontdecompress") assert False except exceptions.DecompressionError: pass try: x = cf.get(["wontdecompress"], raise_errors=True) assert False except exceptions.DecompressionError: pass try: x = cf.get(["wontdecompress"], return_dict=True) assert False except exceptions.DecompressionError: pass cf.delete("wontdecompress")
def test_cli_cp(): import subprocess from cloudfiles.lib import mkdir, touch test_dir = os.path.dirname(os.path.abspath(__file__)) srcdir = os.path.join(test_dir, "testfiles_src") destdir = os.path.join(test_dir, "testfiles_dest") N = 100 try: shutil.rmtree(srcdir) except FileNotFoundError: pass if os.path.isfile(f"{destdir}"): os.remove(destdir) try: shutil.rmtree(destdir) except FileNotFoundError: pass def mkfiles(mkdirname): try: shutil.rmtree(mkdirname) except FileNotFoundError: pass mkdir(mkdirname) for i in range(N): touch(os.path.join(mkdirname, str(i))) mkfiles(srcdir) # cp -r has different behavior depending on if the dest # directory exists or not so we run the test twice # in both conditions. subprocess.run(["cloudfiles", "cp", "-r", srcdir, destdir]) assert len(os.listdir(srcdir)) == N assert os.listdir(srcdir) == os.listdir(destdir) subprocess.run(["cloudfiles", "cp", "-r", srcdir, destdir]) assert len(os.listdir(srcdir)) == N assert os.listdir(srcdir) == os.listdir(os.path.join(destdir, os.path.basename(srcdir))) shutil.rmtree(destdir) subprocess.run(["cloudfiles", "cp", "-r", srcdir + "/1*", destdir]) assert set(os.listdir(destdir)) == set([ "1"] + [ str(i) for i in range(10, 20) ]) shutil.rmtree(destdir) subprocess.run(["cloudfiles", "cp", srcdir + "/**", destdir]) assert os.listdir(srcdir) == os.listdir(destdir) shutil.rmtree(destdir) subprocess.run(["cloudfiles", "cp", srcdir + "/*", destdir]) assert os.listdir(srcdir) == os.listdir(destdir) shutil.rmtree(destdir) subprocess.run(f"find {srcdir} -type f | cloudfiles cp - {destdir}", shell=True) assert os.listdir(srcdir) == os.listdir(destdir) shutil.rmtree(destdir) mkdir(destdir) subprocess.run(f"cloudfiles cp {srcdir}/10 {destdir}", shell=True) assert os.listdir(destdir) == ["10"] shutil.rmtree(destdir) subprocess.run(f"cloudfiles cp {srcdir}/10 {destdir}", shell=True) assert os.path.isfile(f"{destdir}") os.remove(destdir) mkdir(destdir) subprocess.run(f"cloudfiles cp {srcdir}/8 {srcdir}/9 {destdir}", shell=True) assert sorted(os.listdir(destdir)) == ["8","9"] shutil.rmtree(destdir) subprocess.run(f"cloudfiles cp {destdir}", shell=True) assert not os.path.exists(destdir) try: shutil.rmtree(srcdir) except FileNotFoundError: pass try: shutil.rmtree(destdir) except FileNotFoundError: pass