def test_not_all_sig_and_not_sigkey(self, dml): expected_msg = 'No signature specified' with self.assertRaises(koji.GenericError) as ex: kojihub.delete_rpm_sig(1234) self.assertEqual(len(self.queries), 0) self.assertEqual(ex.exception.args[0], expected_msg) self.get_rpm.assert_not_called() self.query_rpm_sigs.assert_not_called() dml.assert_not_called()
def test_valid(self, os_remove, pb, dml): rpminfo = 2 self.get_rpm.return_value = self.rinfo self.get_build.return_value = self.buildinfo self.get_user.return_value = self.userinfo self.query_rpm_sigs.return_value = self.queryrpmsigs kojihub.delete_rpm_sig(rpminfo, all_sigs=True) self.get_rpm.assert_called_once_with(rpminfo, strict=True) self.query_rpm_sigs.assert_called_once_with(rpm_id=self.rinfo['id'], sigkey=None) self.get_build.assert_called_once_with(self.rinfo['build_id'])
def test_rpm_not_existing(self, dml): rpm_id = 1234 expected_msg = 'No such rpm: %s' % rpm_id self.get_rpm.side_effect = koji.GenericError("No such rpm: %s" % rpm_id) with self.assertRaises(koji.GenericError) as ex: kojihub.delete_rpm_sig(rpm_id, all_sigs=True) self.assertEqual(len(self.queries), 0) self.assertEqual(ex.exception.args[0], expected_msg) self.get_rpm.assert_called_once_with(rpm_id, strict=True) self.query_rpm_sigs.assert_not_called() dml.assert_not_called()
def test_external_repo(self, dml): rpminfo = 1234 rinfo = {'external_repo_id': 1, 'external_repo_name': 'INTERNAL'} self.get_rpm.return_value = rinfo with self.assertRaises(koji.GenericError) as ex: kojihub.delete_rpm_sig(rpminfo, all_sigs=True) self.assertEqual(len(self.queries), 0) expected_msg = "Not an internal rpm: %s (from %s)" % ( rpminfo, rinfo['external_repo_name']) self.assertEqual(ex.exception.args[0], expected_msg) self.get_rpm.assert_called_once_with(rpminfo, strict=True) self.query_rpm_sigs.assert_not_called() dml.assert_not_called()
def test_not_valid(self, os_remove, pb, dml): rpminfo = 2 filepath = 'fakebuildpath/data/signed/x86_64/fs_mark-3.3-20.el8.x86_64.rpm' self.get_rpm.return_value = self.rinfo self.get_build.return_value = self.buildinfo self.query_rpm_sigs.return_value = self.queryrpmsigs expected_msg = "File %s cannot be deleted." % filepath with self.assertRaises(koji.GenericError) as ex: kojihub.delete_rpm_sig(rpminfo, all_sigs=True) self.assertEqual(ex.exception.args[0], expected_msg) self.assertEqual(len(self.queries), 0) self.get_rpm.assert_called_once_with(rpminfo, strict=True) self.query_rpm_sigs.assert_called_once_with(rpm_id=self.rinfo['id'], sigkey=None) self.get_build.assert_called_once_with(self.rinfo['build_id'])
def test_empty_query_sign(self, dml): rpminfo = 1234 nvra = "%s-%s-%s.%s" % (self.rinfo['name'], self.rinfo['version'], self.rinfo['release'], self.rinfo['arch']) expected_msg = "%s has no matching signatures to delete" % nvra self.get_rpm.return_value = self.rinfo self.query_rpm_sigs.return_value = [] with self.assertRaises(koji.GenericError) as ex: kojihub.delete_rpm_sig(rpminfo, all_sigs=True) self.assertEqual(len(self.queries), 0) self.assertEqual(ex.exception.args[0], expected_msg) self.get_rpm.assert_called_once_with(rpminfo, strict=True) self.query_rpm_sigs.assert_called_once_with(rpm_id=self.rinfo['id'], sigkey=None) dml.assert_not_called()
def test_file_not_found_error(self, os_remove, pb, dml): rpminfo = 2 os_remove.side_effect = FileNotFoundError() self.get_rpm.return_value = self.rinfo self.get_build.return_value = self.buildinfo self.get_user.return_value = self.userinfo self.query_rpm_sigs.return_value = self.queryrpmsigs r = kojihub.delete_rpm_sig(rpminfo, all_sigs=True) self.assertEqual(r, None) self.assertEqual(len(self.queries), 0) self.get_rpm.assert_called_once_with(rpminfo, strict=True) self.query_rpm_sigs.assert_called_once_with(rpm_id=self.rinfo['id'], sigkey=None) self.get_build.assert_called_once_with(self.rinfo['build_id'])