build: version release metadata filename
This commit is contained in:
+36
-1
@@ -95,7 +95,23 @@ class PackagingTests(unittest.TestCase):
|
||||
self.assertIn('Assert-NoExcludedData -Root $releaseDir', script)
|
||||
self.assertIn('-m app.release_manifest manifest', script)
|
||||
self.assertIn('-m app.release_manifest metadata', script)
|
||||
self.assertIn('release-metadata.json', script)
|
||||
self.assertIn(
|
||||
'$releaseMetadata = Join-Path $releaseRoot "release-metadata${appVersion}.json"',
|
||||
script,
|
||||
)
|
||||
self.assertIn(
|
||||
'$legacyReleaseMetadata = Join-Path $releaseRoot "release-metadata.json"',
|
||||
script,
|
||||
)
|
||||
self.assertIn(
|
||||
'@($releaseDir, $portableZip, $releaseMetadata, $legacyReleaseMetadata)',
|
||||
script,
|
||||
)
|
||||
self.assertNotIn(
|
||||
'$releaseMetadata = Join-Path $releaseRoot "release-metadata.json"',
|
||||
script,
|
||||
)
|
||||
self.assertNotIn('release-metadata*.json', script)
|
||||
self.assertIn('cmshopee-updater.spec', script)
|
||||
self.assertIn('cmshopee-updater.exe', script)
|
||||
|
||||
@@ -158,6 +174,25 @@ class PackagingTests(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual("cmshopee-portable-v1", release["package_format"])
|
||||
|
||||
def test_release_metadata_can_be_written_to_versioned_filename(self):
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
zip_path = Path(temp_dir) / "蝦皮圈優化助手1.2.3.zip"
|
||||
zip_path.write_bytes(b"portable-zip")
|
||||
output = Path(temp_dir) / "release-metadata1.2.3.json"
|
||||
|
||||
written = release_manifest.write_release_metadata(zip_path, "1.2.3", output)
|
||||
metadata = json.loads(written.read_text(encoding="utf-8"))
|
||||
|
||||
self.assertEqual(output, written)
|
||||
self.assertEqual("release-metadata1.2.3.json", written.name)
|
||||
self.assertEqual("1.2.3", metadata["release"]["version"])
|
||||
self.assertEqual(zip_path.name, metadata["release"]["download_filename"])
|
||||
self.assertEqual(zip_path.stat().st_size, metadata["release"]["size_bytes"])
|
||||
self.assertEqual(
|
||||
hashlib.sha256(b"portable-zip").hexdigest(),
|
||||
metadata["release"]["sha256"],
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user