fix(update): accept cmhub release metadata contract
This commit is contained in:
@@ -6,6 +6,7 @@ import unittest
|
||||
import urllib.request
|
||||
import zipfile
|
||||
from pathlib import Path
|
||||
from types import SimpleNamespace
|
||||
|
||||
from app import release_manifest, update_installer
|
||||
|
||||
@@ -71,6 +72,20 @@ class UpdateInstallerTests(unittest.TestCase):
|
||||
values.update(changes)
|
||||
return update_installer.UpdatePackageMetadata(**values)
|
||||
|
||||
def test_online_release_uses_internal_package_contract_defaults(self):
|
||||
info = SimpleNamespace(
|
||||
latest_version="0.1.6",
|
||||
download_url="http://downloads.external.test/cmshopee.zip",
|
||||
sha256="a" * 64,
|
||||
size_bytes=53318076,
|
||||
)
|
||||
|
||||
metadata = update_installer.metadata_from_update_info(info)
|
||||
|
||||
self.assertEqual(release_manifest.PACKAGE_FORMAT, metadata.package_format)
|
||||
self.assertEqual(release_manifest.UPDATER_PROTOCOL, metadata.updater_protocol)
|
||||
self.assertEqual(release_manifest.UPDATER_PROTOCOL, metadata.min_updater_protocol)
|
||||
|
||||
def test_prepare_update_verifies_and_reuses_pending(self):
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
payload = self.make_zip(temp_dir)
|
||||
|
||||
Reference in New Issue
Block a user