From 12481d43d3c9b9bf0aed0427697b7f9b27c72d51 Mon Sep 17 00:00:00 2001 From: Jana Cupova Date: Jun 22 2021 09:53:43 +0000 Subject: listBuilds returns empty list, not error when not existing Fixes: https://pagure.io/koji/issue/1209 --- diff --git a/hub/kojihub.py b/hub/kojihub.py index 48b3b67..58945be 100644 --- a/hub/kojihub.py +++ b/hub/kojihub.py @@ -11415,10 +11415,15 @@ class RootExports(object): 'LEFT JOIN users ON build.owner = users.id'] clauses = [] if packageID is not None: - packageID = get_package_id(packageID, strict=True) + packageID = get_package_id(packageID) + if not packageID: + return [] clauses.append('package.id = %(packageID)i') if userID is not None: - userID = get_user(userID, strict=True)['id'] + userinfo = get_user(userID) + if not userinfo: + return [] + userID = userinfo['id'] clauses.append('users.id = %(userID)i') if volumeID is not None: clauses.append('volume.id = %(volumeID)i') diff --git a/tests/test_hub/test_list_builds.py b/tests/test_hub/test_list_builds.py index 3e0cc2d..1b53b7c 100644 --- a/tests/test_hub/test_list_builds.py +++ b/tests/test_hub/test_list_builds.py @@ -2,7 +2,6 @@ import unittest import mock -import koji import kojihub QP = kojihub.QueryProcessor @@ -44,10 +43,9 @@ class TestListBuilds(unittest.TestCase): def test_wrong_package(self): package = 'test-package' - kojihub.get_package_id.return_value = package - with self.assertRaises(koji.GenericError) as cm: - self.exports.listBuilds(packageID=package) - self.assertEqual('No such entry in table package: %s' % package, str(cm.exception)) + kojihub.get_package_id.return_value = None + rv = self.exports.listBuilds(packageID=package) + self.assertEquals(rv, []) @mock.patch('kojihub.get_package_id') def test_package_string(self, get_package_id): @@ -80,7 +78,6 @@ class TestListBuilds(unittest.TestCase): @mock.patch('kojihub.get_user') def test_wrong_user(self, get_user): user = 'test-user' - get_user.side_effect = koji.GenericError('No such user: %s' % user) - with self.assertRaises(koji.GenericError) as cm: - self.exports.listBuilds(userID=user) - self.assertEqual('No such user: %s' % user, str(cm.exception)) + get_user.return_value = None + rv = self.exports.listBuilds(userID=user) + self.assertEquals(rv, [])