def test_download_and_install_ui(mocker, tmpdir): # Create zipfile requests_mock = MagicMock() file_like_object = BytesIO() with ZipFile(file_like_object, mode='w') as zipfile: for file in ('test1.txt', 'hello/', 'test2.txt'): zipfile.writestr(file, file) file_like_object.seek(0) requests_mock.content = file_like_object.read() mocker.patch("freqtrade.commands.deploy_commands.requests.get", return_value=requests_mock) mocker.patch("freqtrade.commands.deploy_commands.Path.is_dir", side_effect=[True, False]) wb_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.write_bytes") folder = Path(tmpdir) / "uitests_dl" folder.mkdir(exist_ok=True) assert read_ui_version(folder) is None download_and_install_ui(folder, 'http://whatever.xxx/download/file.zip', '22') assert wb_mock.call_count == 2 assert read_ui_version(folder) == '22'
async def ui_version(): from freqtrade.commands.deploy_commands import read_ui_version uibase = Path(__file__).parent / 'ui/installed/' version = read_ui_version(uibase) return { "version": version if version else "not_installed", }