INNER CODE UNIT · Python
test_manifests_reference_actual_assets_and_repository
sun-jiao/flut-renamer · packaging/test_release_metadata.py:19
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())
self.assertEqual(winget['PackageVersion'], scoop['version'])
self.assertIn('version "1.2.3"', (self.assets / 'flut-renamer.rb').read_text())
self.assertIn(hashlib.sha256((self.assets / 'flut-renamer.dmg').read_bytes()).hexdigest(),
(self.assets / 'flut-renamer.rb').read_text())
sums = (self.assets / 'SHA256SUMS').read_text().splitlines()
self.assertEqual(len(sums), 6)
for line in sums:
checksum, name = line.split(' ')