Ejemplo n.º 1
0
 def test_distance(self):
     pkg2 = support.MockPackage('rust-and-stardust-1-2.x86_64')
     pkg1 = support.MockPackage('rust-1-3.x86_64')
     counter = dnf.match_counter.MatchCounter()
     counter.add(pkg1, 'name', 'rust')
     counter.add(pkg2, 'name', 'rust')
     # 'rust-and-stardust' is a worse match for 'rust' than 'rust' itself
     self.assertSequenceEqual([x.name for x in counter.sorted()],
                              ['rust-and-stardust', 'rust'])
Ejemplo n.º 2
0
    def test_bandwidth_used(self):
        errors = dnf.repo._DownloadErrors()
        pkg1 = support.MockPackage('penny-1-1.noarch')
        pkg1.downloadsize = 10
        pkg2 = support.MockPackage('lane-2-1.noarch')
        pkg2.downloadsize = 1
        pl1 = dnf.repo.RPMPayload(pkg1, None)
        pl2 = dnf.repo.RPMPayload(pkg2, None)
        errors._skipped.add(pl2.pkg)

        self.assertEqual(errors._bandwidth_used(pl1), 10)
        self.assertEqual(errors._bandwidth_used(pl2), 0)
Ejemplo n.º 3
0
    def test_update_saving(self):
        progress = dnf.callback.NullDownloadProgress()

        pkg = support.MockPackage("tour-4-4.noarch")
        pkg.downloadsize = 5
        pload1 = dnf.repo.RPMPayload(pkg, progress)
        pkg = support.MockPackage("magical-4-4.noarch")
        pkg.downloadsize = 8
        pload2 = dnf.drpm.DeltaPayload(None, mock.Mock(downloadsize=5), pkg,
                                       progress)
        saving = (5, 10)
        saving = dnf.repo._update_saving(saving, (pload1, pload2), {})
        self.assertEqual(saving, (15, 23))
Ejemplo n.º 4
0
    def test_update_saving_with_err(self):
        progress = dnf.callback.NullDownloadProgress()

        pkg = support.MockPackage("magical-4-4.noarch")
        pkg.downloadsize = 8
        pload = dnf.drpm.DeltaPayload(None, mock.Mock(downloadsize=5), pkg,
                                      progress)
        saving = (5, 10)
        saving = dnf.repo._update_saving(saving, (pload, ), {pkg: 'failed'})
        self.assertEqual(saving, (10, 10))
Ejemplo n.º 5
0
 def test_recent_pkgs(self):
     sack = support.mock_sack("main")
     now = time.time()
     installed = [
         support.MockPackage(str(p))
         for p in sack.query().installed().run()
     ]
     installed[0].buildtime = now - 86400 / 2
     pkgs = dnf.query.recent_pkgs(installed, 1)
     self.assertEqual(len(pkgs), 1)
Ejemplo n.º 6
0
 def test_matched(self):
     pkg = support.MockPackage("humbert-1-1.noarch")
     pkg.url = url = "http://humbert.com"
     pkg.summary = summary = "Glimpses of an incomparably more poignant bliss."
     counter = dnf.match_counter.MatchCounter()
     counter.add(pkg, 'summary', 'poignant')
     counter.add(pkg, 'url', 'humbert')
     counter.add(pkg, 'summary', 'humbert')
     self.assertCountEqual(counter.matched_needles(pkg),
                           ['humbert', 'poignant'])
     self.assertCountEqual(counter.matched_keys(pkg), ['url', 'summary'])
     self.assertCountEqual(counter.matched_haystacks(pkg), [url, summary])
Ejemplo n.º 7
0
    def test_remote_download(self):
        progress = dnf.callback.NullDownloadProgress()
        repo = self.build_repo('r', 'r for riot')
        pkg = support.MockPackage("tour-4-4.noarch", repo=repo)
        pkg.downloadsize = 2317
        pkg._chksum = ('sha256', TOUR_CHKSUM)

        pload = dnf.repo.RPMPayload(pkg, progress)
        drpm = dnf.drpm.DeltaInfo(None, None)
        errs = dnf.repo._download_payloads([pload], drpm)
        self.assertEmpty(errs._recoverable)
        self.assertEmpty(errs._irrecoverable)
        path = os.path.join(repo._cachedir, 'packages/tour-4-4.noarch.rpm')
        self.assertFile(path)
Ejemplo n.º 8
0
    def test_infoOutput_with_none_description(self):
        pkg = support.MockPackage('tour-5-0.noarch')
        pkg.from_system = False
        pkg.size = 0
        pkg.pkgid = None
        pkg.repoid = None
        pkg.e = pkg.epoch
        pkg.v = pkg.version
        pkg.r = pkg.release
        pkg.summary = 'A summary of the package.'
        pkg.url = 'http://example.com'
        pkg.license = 'GPL+'
        pkg.description = None

        with mock.patch('sys.stdout') as stdout:
            self.output.infoOutput(pkg)
        written = ''.join(
            [mc[1][0] for mc in stdout.method_calls if mc[0] == 'write'])
        self.assertEqual(written, INFOOUTPUT_OUTPUT)