def test_local_file_handler_save(directory): handler = LocalFileHandler(base_path=directory) handler.save_data(filename='test.txt', data=b'contents') assert exists(directory, 'test.txt') assert get_contents(directory, 'test.txt') == b'contents'
def test_auto_create_directory(directory): directory = os.path.join(directory, 'folder', 'subfolder') handler = LocalFileHandler(base_path=directory, auto_make_dir=True) assert not os.path.exists(directory) handler.validate() assert os.path.exists(directory)
def test_error_when_no_directory(directory): directory = os.path.join(directory, 'folder', 'subfolder') handler = LocalFileHandler(base_path=directory) with pytest.raises(FilestorageConfigError) as err: handler.validate() assert directory.rstrip('/').rstrip('\\') in str(err.value) assert 'does not exist' in str(err.value)
def test_local_file_save_same_filename(directory): handler = LocalFileHandler(base_path=directory) first = handler.save_data(filename='test.txt', data=b'contents 1') second = handler.save_data(filename='test.txt', data=b'contents 2') third = handler.save_data(filename='test.txt', data=b'contents 3') assert first == 'test.txt' assert second == 'test-1.txt' assert third == 'test-2.txt' assert exists(directory, first) assert exists(directory, second) assert exists(directory, third) assert get_contents(directory, first) == b'contents 1' assert get_contents(directory, second) == b'contents 2' assert get_contents(directory, third) == b'contents 3'
def test_local_file_handler_try_save_subfolder(directory, store): store.handler = LocalFileHandler(base_path=directory, auto_make_dir=True) handler = store / 'folder' / 'subfolder' handler.save_data(filename='test.txt', data=b'contents') directory = os.path.join(directory, 'folder', 'subfolder') assert exists(directory, 'test.txt') assert get_contents(directory, 'test.txt') == b'contents'
def test_local_file_handler_get_modified_time(directory): handler = LocalFileHandler(base_path=directory) handler.save_data(filename='test.txt', data=b'contents') assert exists(directory, 'test.txt') item = handler.get_item('test.txt') mtime = handler.get_modified_time('test.txt') assert mtime == datetime.fromtimestamp( os.path.getmtime(handler.local_path(item)) )