diff --git a/tests/small/test_settings.py b/tests/small/test_settings.py index 971f9810..20954bf9 100644 --- a/tests/small/test_settings.py +++ b/tests/small/test_settings.py @@ -20,6 +20,7 @@ """Tests the umake settings handler""" import os +import re import shutil import tempfile from ..tools import get_data_dir, LoggedTestCase @@ -97,3 +98,24 @@ def test_version_git_not_installed(self, path_join_result): path_join_result.side_effect = self.return_fake_version_path os.environ["PATH"] = "" self.assertEqual(settings.get_version(), "42.02+unknown") + + def test_get_latest_version(self): + class DartSdk: + def __init__(self): + self.package_url = 'https://storage.googleapis.com/dart-archive/channels/stable/release/3.2.4/sdk/dartsdk-linux-x64-release.zip' + self.version_regex = r'/(\d+\.\d+\.\d+)' + + def get_latest_version(self): + print(self.version_regex, self.package_url) + return (re.search(self.version_regex, self.package_url).group(1).replace('_', '.') + if self.package_url and self.version_regex else None) + + framework = DartSdk() + self.assertEqual(framework.get_latest_version(), '3.2.4') + + @patch("os.path.join") + def test_get_current_user_version(self, path_join_result): + # 1) install dart-sdk or a dummy framework and store the install_path + # 2) Initiate a framework object + # 3) assertEqual(framework.get_current_user_version(install_path), '3.2.4') + pass diff --git a/umake/frameworks/android.py b/umake/frameworks/android.py index ceaf7d33..a8d73837 100644 --- a/umake/frameworks/android.py +++ b/umake/frameworks/android.py @@ -87,7 +87,7 @@ def __init__(self, **kwargs): dir_to_decompress_in_tarball="android-studio", desktop_filename="android-studio.desktop", required_files_path=[os.path.join("bin", "studio.sh")], - version_regex='(\d+\.\d+)', + version_regex=r'(\d+\.\d+)', supports_update=True, **kwargs) diff --git a/umake/frameworks/dart.py b/umake/frameworks/dart.py index c0922498..5b4298f8 100644 --- a/umake/frameworks/dart.py +++ b/umake/frameworks/dart.py @@ -58,7 +58,7 @@ def __init__(self, **kwargs): dir_to_decompress_in_tarball="dart-sdk", required_files_path=[os.path.join("bin", "dart")], json=True, - version_regex='/(\d+\.\d+\.\d+)', + version_regex=r'/(\d+\.\d+\.\d+)', supports_update=True, **kwargs) diff --git a/umake/frameworks/devops.py b/umake/frameworks/devops.py index f94b1d63..592319e9 100644 --- a/umake/frameworks/devops.py +++ b/umake/frameworks/devops.py @@ -47,7 +47,7 @@ def __init__(self, **kwargs): dir_to_decompress_in_tarball=".", required_files_path=["terraform"], json=True, - version_regex='/(\d+\.\d+\.\d+)', + version_regex=r'/(\d+\.\d+\.\d+)', supports_update=True, **kwargs)