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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…