INNER CODE UNIT · Python
setUp
sun-jiao/flut-renamer · packaging/test_release_metadata.py:11
def setUp(self):
self.temp = tempfile.TemporaryDirectory()
self.addCleanup(self.temp.cleanup)
self.assets = Path(self.temp.name)
(self.assets / 'flut-renamer.exe').write_bytes(b'windows test artifact')
(self.assets / 'flut-renamer.dmg').write_bytes(b'macos test artifact')
(self.assets / 'linux.deb').write_bytes(b'linux test artifact')
def test_manifests_reference_actual_assets_and_repository(self):
generate(self.assets, 'example/fork', 'v1.2.3')
scoop = json.loads((self.assets / 'flut-renamer.json').read_text())
winget = json.loads((self.assets / 'FlutRenamer.FlutRenamer.yaml').read_text())
exe = self.assets / 'flut-renamer.exe'
digest = hashlib.sha256(exe.read_bytes()).hexdigest()
url = 'https://github.com/example/fork/releases/download/v1.2.3/flut-renamer.exe'
self.assertEqual(scoop['architecture']['64bit'], {'url': url, 'hash': digest})
self.assertEqual(winget['Installers'][0]['InstallerUrl'], url)
self.assertEqual(winget['Installers'][0]['InstallerSha256'], digest.upper())