Add proper test for parse_app_instance_name

This commit is contained in:
Alexandre Aubin 2021-10-04 01:24:16 +02:00
parent 9c4ea1ccc6
commit 42da171819
2 changed files with 21 additions and 17 deletions

View file

@ -2406,22 +2406,14 @@ def _parse_app_instance_name(app_instance_name: str) -> Tuple[str, int]:
Parse a Yunohost app instance name and extracts the original appid
and the application instance number
>>> _parse_app_instance_name('yolo') == ('yolo', 1)
True
>>> _parse_app_instance_name('yolo1') == ('yolo1', 1)
True
>>> _parse_app_instance_name('yolo__0') == ('yolo__0', 1)
True
>>> _parse_app_instance_name('yolo__1') == ('yolo', 1)
True
>>> _parse_app_instance_name('yolo__23') == ('yolo', 23)
True
>>> _parse_app_instance_name('yolo__42__72') == ('yolo__42', 72)
True
>>> _parse_app_instance_name('yolo__23qdqsd') == ('yolo__23qdqsd', 1)
True
>>> _parse_app_instance_name('yolo__23qdqsd56') == ('yolo__23qdqsd56', 1)
True
'yolo' -> ('yolo', 1)
'yolo1' -> ('yolo1', 1)
'yolo__0' -> ('yolo__0', 1)
'yolo__1' -> ('yolo', 1)
'yolo__23' -> ('yolo', 23)
'yolo__42__72' -> ('yolo__42', 72)
'yolo__23qdqsd' -> ('yolo__23qdqsd', 1)
'yolo__23qdqsd56' -> ('yolo__23qdqsd56', 1)
"""
match = re_app_instance_name.match(app_instance_name)
assert match, f"Could not parse app instance name : {app_instance_name}"

View file

@ -4,7 +4,7 @@ import os
from .conftest import get_test_apps_dir
from yunohost.utils.error import YunohostError
from yunohost.app import app_install, app_remove, _is_app_repo_url
from yunohost.app import app_install, app_remove, _is_app_repo_url, _parse_app_instance_name
from yunohost.domain import _get_maindomain, domain_url_available
from yunohost.permission import _validate_and_sanitize_permission_url
@ -28,6 +28,18 @@ def teardown_function(function):
pass
def test_parse_app_instance_name():
assert _parse_app_instance_name('yolo') == ('yolo', 1)
assert _parse_app_instance_name('yolo1') == ('yolo1', 1)
assert _parse_app_instance_name('yolo__0') == ('yolo__0', 1)
assert _parse_app_instance_name('yolo__1') == ('yolo', 1)
assert _parse_app_instance_name('yolo__23') == ('yolo', 23)
assert _parse_app_instance_name('yolo__42__72') == ('yolo__42', 72)
assert _parse_app_instance_name('yolo__23qdqsd') == ('yolo__23qdqsd', 1)
assert _parse_app_instance_name('yolo__23qdqsd56') == ('yolo__23qdqsd56', 1)
def test_repo_url_definition():
assert _is_app_repo_url("https://github.com/YunoHost-Apps/foobar123_ynh")
assert _is_app_repo_url("https://github.com/YunoHost-Apps/foobar123_ynh/")