mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-20 04:21:23 +00:00
* feat: support linux arm64 release artifacts * fix: address PR review comments for 0406-linux_arm64_support
86 lines
2.7 KiB
Python
Generated
86 lines
2.7 KiB
Python
Generated
#!/usr/bin/env python3
|
|
"""Tests for release artifact upload metadata helpers."""
|
|
|
|
import unittest
|
|
|
|
from build.modules.storage.upload import _get_artifact_key, merge_release_metadata
|
|
|
|
|
|
class UploadMetadataTest(unittest.TestCase):
|
|
def test_linux_x64_artifacts_use_x64_keys(self) -> None:
|
|
self.assertEqual(
|
|
_get_artifact_key("BrowserOS_v1.2.3_x64.AppImage", "linux"),
|
|
"x64_appimage",
|
|
)
|
|
self.assertEqual(
|
|
_get_artifact_key("BrowserOS_v1.2.3_amd64.deb", "linux"),
|
|
"x64_deb",
|
|
)
|
|
|
|
def test_linux_arm64_artifacts_use_arm64_keys(self) -> None:
|
|
self.assertEqual(
|
|
_get_artifact_key("BrowserOS_v1.2.3_arm64.AppImage", "linux"),
|
|
"arm64_appimage",
|
|
)
|
|
self.assertEqual(
|
|
_get_artifact_key("BrowserOS_v1.2.3_arm64.deb", "linux"),
|
|
"arm64_deb",
|
|
)
|
|
self.assertEqual(
|
|
_get_artifact_key("BrowserOS_v1.2.3_aarch64.deb", "linux"),
|
|
"arm64_deb",
|
|
)
|
|
|
|
def test_merge_release_metadata_preserves_existing_artifacts(self) -> None:
|
|
existing = {
|
|
"platform": "linux",
|
|
"version": "1.2.3",
|
|
"build_date": "old",
|
|
"artifacts": {
|
|
"x64_appimage": {"filename": "BrowserOS_v1.2.3_x64.AppImage"},
|
|
"x64_deb": {"filename": "BrowserOS_v1.2.3_amd64.deb"},
|
|
},
|
|
}
|
|
new = {
|
|
"platform": "linux",
|
|
"version": "1.2.3",
|
|
"build_date": "new",
|
|
"artifacts": {
|
|
"arm64_appimage": {"filename": "BrowserOS_v1.2.3_arm64.AppImage"},
|
|
"arm64_deb": {"filename": "BrowserOS_v1.2.3_arm64.deb"},
|
|
},
|
|
}
|
|
|
|
merged = merge_release_metadata(existing, new)
|
|
|
|
self.assertEqual(merged["build_date"], "new")
|
|
self.assertEqual(
|
|
sorted(merged["artifacts"]),
|
|
["arm64_appimage", "arm64_deb", "x64_appimage", "x64_deb"],
|
|
)
|
|
|
|
def test_merge_release_metadata_overwrites_matching_artifact_keys(self) -> None:
|
|
existing = {
|
|
"platform": "linux",
|
|
"version": "1.2.3",
|
|
"artifacts": {
|
|
"x64_appimage": {"filename": "old.AppImage", "size": 1},
|
|
},
|
|
}
|
|
new = {
|
|
"platform": "linux",
|
|
"version": "1.2.3",
|
|
"artifacts": {
|
|
"x64_appimage": {"filename": "new.AppImage", "size": 2},
|
|
},
|
|
}
|
|
|
|
merged = merge_release_metadata(existing, new)
|
|
|
|
self.assertEqual(merged["artifacts"]["x64_appimage"]["filename"], "new.AppImage")
|
|
self.assertEqual(merged["artifacts"]["x64_appimage"]["size"], 2)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|