Beispiel #1
0
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')
Beispiel #2
0
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])
Beispiel #3
0
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
Beispiel #4
0
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)
Beispiel #5
0
def test_ls_empty_with_details(azure):
    with azure_teardown(azure):
        assert not azure.ls(test_dir, invalidate_cache=False, detail=True)