def test_chmod(azure): with azure_teardown(azure): azure.touch(a) assert azure.info(a)['permission'] == '770' azure.chmod(a, '0555') assert azure.info(a)['permission'] == '555' with pytest.raises((OSError, IOError)): with azure.open(a, 'ab') as f: try: f.write(b'data') except Exception as e: print(e) raise e azure.chmod(a, '0770') azure.rm(a) azure.mkdir(test_dir / 'deep') azure.touch(test_dir / 'deep' / 'file') azure.chmod(test_dir / 'deep', '660') with pytest.raises((OSError, IOError)): azure.ls(test_dir / 'deep') azure.chmod(test_dir / 'deep', '770')
def test_ls_touch(azure): with azure_teardown(azure): assert not azure.ls(test_dir, invalidate_cache=False) azure.touch(a) azure.touch(b) L = azure.ls(test_dir, True, invalidate_cache=False) assert set(d['name'] for d in L) == set([a, b]) L = azure.ls(test_dir, False, invalidate_cache=False) assert set(L) == set([a, b])
def test_ls_touch_invalidate_cache(azure, second_azure): with azure_teardown(azure): assert not azure.ls(test_dir, invalidate_cache=False) assert not second_azure.ls(test_dir, invalidate_cache=False) azure.touch(a) azure.touch(b) L = azure.ls(test_dir, True, invalidate_cache=False) assert not second_azure.ls(test_dir, invalidate_cache=False) L_second = second_azure.ls(test_dir, True, invalidate_cache=True) assert set(d['name'] for d in L) == set([a, b]) assert L == L_second
def setup_tree(azure): for directory in ['', 'data/a', 'data/b']: azure.mkdir(test_dir / directory) for filename in ['x.csv', 'y.csv', 'z.txt']: with azure.open(test_dir / directory / filename, 'wb') as f: f.write(b'123456') try: yield finally: for path in azure.ls(test_dir, invalidate_cache=False): if azure.exists(path, invalidate_cache=False): azure.rm(path, recursive=True)
def test_ls_empty_with_details(azure): with azure_teardown(azure): assert not azure.ls(test_dir, invalidate_cache=False, detail=True)