44 lines
1.8 KiB
Python
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)
|