diff --git a/src/Mod/AddonManager/AddonManagerTest/app/test_addon.py b/src/Mod/AddonManager/AddonManagerTest/app/test_addon.py
index 75100529c0..58aae06af7 100644
--- a/src/Mod/AddonManager/AddonManagerTest/app/test_addon.py
+++ b/src/Mod/AddonManager/AddonManagerTest/app/test_addon.py
@@ -77,3 +77,26 @@ class TestAddon(unittest.TestCase):
contents = addon.metadata.Content
self.assertEqual(len(contents),1,"Wrong number of content catetories found")
self.assertEqual(len(contents["workbench"]),1,"Wrong number of workbenches found")
+
+ def test_git_url_cleanup(self):
+ base_url = "https://github.com/FreeCAD/FreeCAD"
+ test_urls = [f" {base_url} ",
+ f"{base_url}.git",
+ f" {base_url}.git "]
+ for url in test_urls:
+ addon = Addon("FreeCAD", url, Addon.Status.NOT_INSTALLED, "master")
+ self.assertEqual(addon.url, base_url)
+
+ def test_tag_extraction(self):
+ addon = Addon("FreeCAD","https://github.com/FreeCAD/FreeCAD", Addon.Status.NOT_INSTALLED, "master")
+ addon.load_metadata_file(os.path.join(self.test_dir, "good_package.xml"))
+
+ tags = addon.tags
+ self.assertEqual(len(tags),5)
+ expected_tags = set()
+ expected_tags.add("Tag0")
+ expected_tags.add("Tag1")
+ expected_tags.add("TagA")
+ expected_tags.add("TagB")
+ expected_tags.add("TagC")
+ self.assertEqual(tags, expected_tags)
\ No newline at end of file
diff --git a/src/Mod/AddonManager/AddonManagerTest/data/good_package.xml b/src/Mod/AddonManager/AddonManagerTest/data/good_package.xml
index 94089aca01..1fede2a1c4 100644
--- a/src/Mod/AddonManager/AddonManagerTest/data/good_package.xml
+++ b/src/Mod/AddonManager/AddonManagerTest/data/good_package.xml
@@ -9,11 +9,16 @@
https://github.com/chennes/FreeCAD-Package
https://github.com/chennes/FreeCAD-Package/blob/main/README.md
Resources/icons/PackageIcon.svg
+ Tag0
+ Tag1
MyWorkbench
./
+ TagA
+ TagB
+ TagC