debian-koji/tests/test_hub/test_getPackageID.py
Yuming Zhu ca05418fb5 unittest: use unittest.mock instead of mock
because the absence of unittest.mock on python2.7, we still fallback to
mock
2024-10-23 16:35:30 +00:00

44 lines
1.8 KiB
Python

from unittest import mock
from .utils import DBQueryTestCase
import koji
import kojihub
class TestGetPackageID(DBQueryTestCase):
maxDiff = None
def test_getPackageID(self):
self.qp_execute_one_return_value = {'id': 1}
rv = kojihub.RootExports().getPackageID('koji')
self.assertEqual(len(self.queries), 1)
self.assertLastQueryEqual(tables=['package'],
columns=['id'],
clauses=['name=%(name)s'],
values={'name': 'koji',
'strict': False,
'self': mock.ANY})
self.assertEqual(rv, 1)
def test_getPackageID_strict(self):
with self.assertRaises(koji.GenericError) as cm:
kojihub.RootExports().getPackageID('invalidpkg', strict=True)
self.assertLastQueryEqual(tables=['package'],
columns=['id'],
clauses=['name=%(name)s'],
values={'name': 'invalidpkg',
'strict': True,
'self': mock.ANY})
self.assertEqual(cm.exception.args[0], 'No such package name: invalidpkg')
def test_getPackageID_None(self):
rv = kojihub.RootExports().getPackageID('invalidpkg')
self.assertEqual(len(self.queries), 1)
self.assertLastQueryEqual(tables=['package'],
columns=['id'],
clauses=['name=%(name)s'],
values={'name': 'invalidpkg',
'strict': False,
'self': mock.ANY})
self.assertIsNone(rv)