feat: 统一 Client 发布产物命名 (#102)
This commit is contained in:
@@ -16,7 +16,11 @@ from build_tools.launcher import (
|
||||
install_root,
|
||||
is_main_program_running,
|
||||
)
|
||||
from build_tools.release_manifest import MANIFEST_FILE_NAME, write_manifest
|
||||
from build_tools.release_manifest import (
|
||||
MANIFEST_FILE_NAME,
|
||||
versioned_manifest_file_name,
|
||||
write_manifest,
|
||||
)
|
||||
from src.db import data_dir
|
||||
|
||||
|
||||
@@ -140,15 +144,15 @@ class ReleaseManifestTest(unittest.TestCase):
|
||||
def test_manifest_name_and_hash_match_release_files(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
root = Path(directory)
|
||||
update_zip = root / "CMAutoBuy-0.1.0-update.zip"
|
||||
portable_zip = root / "CMAutoBuy-0.1.0-portable.zip"
|
||||
update_zip = root / "CMAutoBuy_0.1.0.zip"
|
||||
portable_zip = root / "自动采集采购工具_0.1.0.zip"
|
||||
update_zip.write_bytes(b"update")
|
||||
portable_zip.write_bytes(b"portable")
|
||||
output = root / MANIFEST_FILE_NAME
|
||||
|
||||
write_manifest("0.1.0", update_zip, portable_zip, output)
|
||||
|
||||
self.assertEqual(output.name, "autobuy——manifest.json")
|
||||
self.assertEqual(output.name, "autobuy_manifest.json")
|
||||
manifest = json.loads(output.read_text(encoding="utf-8"))
|
||||
self.assertEqual(manifest["version"], "0.1.0")
|
||||
self.assertEqual(manifest["update"]["size"], len(b"update"))
|
||||
@@ -158,6 +162,14 @@ class ReleaseManifestTest(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual(manifest["portable"]["file"], portable_zip.name)
|
||||
|
||||
def test_versioned_manifest_name_is_stable_and_validated(self):
|
||||
self.assertEqual(
|
||||
versioned_manifest_file_name("0.1.0"),
|
||||
"autobuy_manifest_0.1.0.json",
|
||||
)
|
||||
with self.assertRaises(ValueError):
|
||||
versioned_manifest_file_name("../latest")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user