From 4faeabefa2f415afeaf95fbd6341a2f3f3b441ca Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 1 Sep 2022 21:51:48 +0200 Subject: [PATCH] manifestv2: moar test fixes --- helpers/utils | 2 +- src/tests/test_apps.py | 13 +++++++------ src/utils/resources.py | 7 ++++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/helpers/utils b/helpers/utils index 1b6e3cd50..7741ee02b 100644 --- a/helpers/utils +++ b/helpers/utils @@ -926,7 +926,7 @@ ynh_compare_current_package_version() { _ynh_apply_default_permissions() { local target=$1 - local ynh_requirement=$(ynh_read_manifest --key=".requirements.yunohost") + local ynh_requirement=$(ynh_read_manifest --manifest_key="requirements.yunohost") if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 || [ -z "$ynh_requirement" ] || [ "$ynh_requirement" == "null" ] || dpkg --compare-versions $ynh_requirement ge 4.2; then chmod o-rwx $target diff --git a/src/tests/test_apps.py b/src/tests/test_apps.py index 4853817f9..20a47b5d7 100644 --- a/src/tests/test_apps.py +++ b/src/tests/test_apps.py @@ -219,8 +219,8 @@ def test_legacy_app_manifest_preinstall(): assert "description" in m assert "integration" in m assert "install" in m - assert m.get("doc") == {} - assert m.get["notifications"] == {"pre_install": {}, "pre_upgrade": {}, "post_install": {}, "post_upgrade": {}} + assert m["doc"] == {} + assert m["notifications"] == {"pre_install": {}, "pre_upgrade": {}, "post_install": {}, "post_upgrade": {}} def test_manifestv2_app_manifest_preinstall(): @@ -271,9 +271,9 @@ def test_manifestv2_app_info_postinstall(): assert "The app install dir is /var/www/manifestv2_app" in m["doc"]["ADMIN"]["en"] assert "Le dossier d'install de l'app est /var/www/manifestv2_app" in m["doc"]["ADMIN"]["fr"] assert "notifications" in m - assert "The app install dir is /var/www/manifestv2_app" in m["notifications"]["post_install"]["en"] - assert "The app id is manifestv2_app" in m["notifications"]["post_install"]["en"] - assert f"The app url is {main_domain}/manifestv2" in m["notifications"]["post_install"]["en"] + assert "The app install dir is /var/www/manifestv2_app" in m["notifications"]["post_install"]["main"]["en"] + assert "The app id is manifestv2_app" in m["notifications"]["post_install"]["main"]["en"] + assert f"The app url is {main_domain}/manifestv2" in m["notifications"]["post_install"]["main"]["en"] def test_manifestv2_app_info_preupgrade(monkeypatch): @@ -290,6 +290,7 @@ def test_manifestv2_app_info_preupgrade(monkeypatch): "lastUpdate": 999999999, "maintained": True, "manifest": manifest, + "state": "working", } res["apps"]["manifestv2_app"]["manifest"]["version"] = "99999~ynh1" @@ -306,7 +307,7 @@ def test_manifestv2_app_info_preupgrade(monkeypatch): # does provide the notifications, which means the list builder script # should parse the files in the original app repo, possibly with proper i18n etc assert "This is a dummy disclaimer to display prior to any upgrade" \ - in i["from_catalog"]["manifest"]["notifications"]["pre_upgrade"] + in i["from_catalog"]["manifest"]["notifications"]["pre_upgrade"]["main"]["en"] def test_app_from_catalog(): main_domain = _get_maindomain() diff --git a/src/utils/resources.py b/src/utils/resources.py index 46f2eba33..f93543cb2 100644 --- a/src/utils/resources.py +++ b/src/utils/resources.py @@ -615,9 +615,10 @@ class PortsResource(AppResource): # Automigrate from legacy setting foobar_port (instead of port_foobar) legacy_setting_name = "{name}_port" port_value = self.get_setting(legacy_setting_name) - self.set_setting(setting_name, port_value) - self.delete_setting(legacy_setting_name) - continue + if port_value: + self.set_setting(setting_name, port_value) + self.delete_setting(legacy_setting_name) + continue if not port_value: port_value = infos["default"]