unit test for get_rpm preferences
This commit is contained in:
parent
c5395a5a8f
commit
c944ef36a1
1 changed files with 39 additions and 0 deletions
|
|
@ -121,6 +121,45 @@ class TestGetRPM(DBQueryTestCase):
|
|||
['external_repo ON rpminfo.external_repo_id = external_repo.id'])
|
||||
self.assertEqual(query.values, rpminfo_data)
|
||||
|
||||
@mock.patch('kojihub.kojihub._get_rpms')
|
||||
def test_rpm_info_preferred(self, _get_rpms):
|
||||
rpminfo = 'testrpm-1.23-4.x86_64.rpm'
|
||||
rpm_ext = {'id': 1, 'external_repo_id': 2, 'draft': False}
|
||||
rpm_ext2 = {'id': 2, 'external_repo_id': 2, 'draft': False}
|
||||
rpm_draft = {'id': 3, 'external_repo_id': 0, 'draft': True}
|
||||
rpm_draft2 = {'id': 4, 'external_repo_id': 0, 'draft': True}
|
||||
rpm_nondraft = {'id': 5, 'external_repo_id': 0, 'draft': False}
|
||||
|
||||
# this test checks that the expected preferences are followed for multiple matches
|
||||
|
||||
_get_rpms.return_value = [rpm_ext, rpm_ext2, rpm_draft, rpm_draft2, rpm_nondraft]
|
||||
ret = kojihub.get_rpm(rpminfo, multi=False)
|
||||
self.assertEqual(ret, rpm_nondraft)
|
||||
|
||||
_get_rpms.return_value = [rpm_ext, rpm_ext2, rpm_draft, rpm_draft2]
|
||||
ret = kojihub.get_rpm(rpminfo, multi=False)
|
||||
self.assertEqual(ret, rpm_draft2)
|
||||
|
||||
_get_rpms.return_value = [rpm_ext, rpm_ext2, rpm_draft]
|
||||
ret = kojihub.get_rpm(rpminfo, multi=False)
|
||||
self.assertEqual(ret, rpm_draft)
|
||||
|
||||
_get_rpms.return_value = [rpm_ext, rpm_ext2]
|
||||
ret = kojihub.get_rpm(rpminfo, multi=False)
|
||||
self.assertEqual(ret, rpm_ext2)
|
||||
|
||||
_get_rpms.return_value = [rpm_ext]
|
||||
ret = kojihub.get_rpm(rpminfo, multi=False)
|
||||
self.assertEqual(ret, rpm_ext)
|
||||
|
||||
# multiple nondraft matches should error
|
||||
rpm_bad = {'id': 6, 'external_repo_id': 0, 'draft': False}
|
||||
_get_rpms.return_value = [rpm_nondraft, rpm_bad]
|
||||
with self.assertRaises(koji.GenericError):
|
||||
ret = kojihub.get_rpm(rpminfo, multi=False)
|
||||
|
||||
self.assertEqual(len(self.queries), 0) # _get_rpm is mocked
|
||||
|
||||
|
||||
class TestGetRPMHeaders(unittest.TestCase):
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue