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('  ')

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…