Extract get_ui_download_url
This commit is contained in:
parent
87ed2d7502
commit
a1a35115ad
@ -170,12 +170,7 @@ def download_and_install_ui(dest_folder: Path, dl_url: str):
|
|||||||
destfile.write_bytes(x.read())
|
destfile.write_bytes(x.read())
|
||||||
|
|
||||||
|
|
||||||
def start_install_ui(args: Dict[str, Any]) -> None:
|
def get_ui_download_url() -> str:
|
||||||
|
|
||||||
dest_folder = Path(__file__).parents[1] / 'rpc/api_server/ui'
|
|
||||||
# First make sure the assets are removed.
|
|
||||||
clean_ui_subdir(dest_folder)
|
|
||||||
|
|
||||||
base_url = 'https://api.github.com/repos/freqtrade/frequi/'
|
base_url = 'https://api.github.com/repos/freqtrade/frequi/'
|
||||||
# Get base UI Repo path
|
# Get base UI Repo path
|
||||||
|
|
||||||
@ -188,6 +183,16 @@ def start_install_ui(args: Dict[str, Any]) -> None:
|
|||||||
r = resp.json()
|
r = resp.json()
|
||||||
|
|
||||||
dl_url = r[0]['browser_download_url']
|
dl_url = r[0]['browser_download_url']
|
||||||
|
return dl_url
|
||||||
|
|
||||||
|
|
||||||
|
def start_install_ui(args: Dict[str, Any]) -> None:
|
||||||
|
|
||||||
|
dest_folder = Path(__file__).parents[1] / 'rpc/api_server/ui'
|
||||||
|
# First make sure the assets are removed.
|
||||||
|
clean_ui_subdir(dest_folder)
|
||||||
|
|
||||||
|
dl_url = get_ui_download_url()
|
||||||
|
|
||||||
# Download a new version
|
# Download a new version
|
||||||
download_and_install_ui(dest_folder, dl_url)
|
download_and_install_ui(dest_folder, dl_url)
|
||||||
|
@ -560,13 +560,14 @@ def test_start_new_hyperopt_no_arg(mocker):
|
|||||||
|
|
||||||
def test_start_install_ui(mocker):
|
def test_start_install_ui(mocker):
|
||||||
clean_mock = mocker.patch('freqtrade.commands.deploy_commands.clean_ui_subdir')
|
clean_mock = mocker.patch('freqtrade.commands.deploy_commands.clean_ui_subdir')
|
||||||
|
get_url_mock = mocker.patch('freqtrade.commands.deploy_commands.get_ui_download_url')
|
||||||
download_mock = mocker.patch('freqtrade.commands.deploy_commands.download_and_install_ui')
|
download_mock = mocker.patch('freqtrade.commands.deploy_commands.download_and_install_ui')
|
||||||
args = [
|
args = [
|
||||||
"install-ui",
|
"install-ui",
|
||||||
]
|
]
|
||||||
start_install_ui(args)
|
start_install_ui(args)
|
||||||
assert clean_mock.call_count == 1
|
assert clean_mock.call_count == 1
|
||||||
|
assert get_url_mock.call_count == 1
|
||||||
assert download_mock.call_count == 1
|
assert download_mock.call_count == 1
|
||||||
|
|
||||||
|
|
||||||
@ -588,7 +589,7 @@ def test_clean_ui_subdir(mocker, tmpdir, caplog):
|
|||||||
|
|
||||||
|
|
||||||
def test_download_and_install_ui(mocker, tmpdir, caplog):
|
def test_download_and_install_ui(mocker, tmpdir, caplog):
|
||||||
# Should be something "zip-like"
|
# Create zipfile
|
||||||
requests_mock = MagicMock()
|
requests_mock = MagicMock()
|
||||||
file_like_object = BytesIO()
|
file_like_object = BytesIO()
|
||||||
with ZipFile(file_like_object, mode='w') as zipfile:
|
with ZipFile(file_like_object, mode='w') as zipfile:
|
||||||
@ -596,13 +597,16 @@ def test_download_and_install_ui(mocker, tmpdir, caplog):
|
|||||||
zipfile.writestr(file, file)
|
zipfile.writestr(file, file)
|
||||||
file_like_object.seek(0)
|
file_like_object.seek(0)
|
||||||
requests_mock.content = file_like_object.read()
|
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.requests.get", return_value=requests_mock)
|
||||||
|
|
||||||
mocker.patch("freqtrade.commands.deploy_commands.Path.is_dir",
|
mocker.patch("freqtrade.commands.deploy_commands.Path.is_dir",
|
||||||
side_effect=[True, False])
|
side_effect=[True, False])
|
||||||
mkdir_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.mkdir")
|
mkdir_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.mkdir")
|
||||||
wb_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.write_bytes")
|
wb_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.write_bytes")
|
||||||
|
|
||||||
folder = Path(tmpdir) / "uitests_dl"
|
folder = Path(tmpdir) / "uitests_dl"
|
||||||
download_and_install_ui(folder, 'http://whatever.xxx')
|
download_and_install_ui(folder, 'http://whatever.xxx/download/file.zip')
|
||||||
|
|
||||||
assert mkdir_mock.call_count == 1
|
assert mkdir_mock.call_count == 1
|
||||||
assert wb_mock.call_count == 2
|
assert wb_mock.call_count == 2
|
||||||
|
Loading…
Reference in New Issue
Block a user