Increase hub unit tests 03-02

This commit is contained in:
Jana Cupova 2023-03-28 18:31:01 +02:00
parent 6d01a3f63d
commit bbd841c0d4
36 changed files with 1434 additions and 356 deletions

View file

@ -1,31 +1,37 @@
import mock
import unittest
import koji
import kojihub
from .utils import DBQueryTestCase
class TestGetNextRelease(unittest.TestCase):
class TestGetNextRelease(DBQueryTestCase):
def setUp(self):
super(TestGetNextRelease, self).setUp()
self.maxDiff = None
self.QueryProcessor = mock.patch('kojihub.kojihub.QueryProcessor').start()
self.get_build = mock.patch('kojihub.kojihub.get_build').start()
self._dml = mock.patch('kojihub.kojihub._dml').start()
self.query = self.QueryProcessor.return_value
self.binfo = {'name': 'name', 'version': 'version'}
def tearDown(self):
mock.patch.stopall()
def test_get_next_release_new(self):
# no previous build
self.query.executeOne.return_value = None
self.qp_execute_one_return_value = None
result = kojihub.get_next_release(self.binfo)
self.assertEqual(result, '1')
self.assertEqual(len(self.queries), 1)
query = self.queries[0]
self.assertEqual(query.tables, ['build'])
self.assertEqual(query.joins, ['package ON build.pkg_id = package.id'])
self.assertEqual(query.clauses,
['name = %(name)s', 'state in %(states)s', 'version = %(version)s'])
self.assertEqual(query.values, {'name': self.binfo['name'],
'version': self.binfo['version'],
'states': (1, 2, 0)
})
self.assertEqual(query.columns, ['build.id', 'release'])
def test_get_next_release_int(self):
for n in [1, 2, 3, 5, 8, 13, 21, 34, 55]:
self.query.executeOne.return_value = {'release': str(n)}
self.qp_execute_one_return_value = {'release': str(n)}
result = kojihub.get_next_release(self.binfo)
self.assertEqual(result, str(n + 1))
@ -38,7 +44,7 @@ class TestGetNextRelease(unittest.TestCase):
['20211105.nightly.7', '20211105.nightly.8'],
]
for a, b in data:
self.query.executeOne.return_value = {'release': a}
self.qp_execute_one_return_value = {'release': a}
result = kojihub.get_next_release(self.binfo)
self.assertEqual(result, b)
@ -52,9 +58,10 @@ class TestGetNextRelease(unittest.TestCase):
"1.2.fc23",
]
for val in data:
self.query.executeOne.return_value = {'release': val}
with self.assertRaises(koji.BuildError):
self.qp_execute_one_return_value = {'release': val}
with self.assertRaises(koji.BuildError) as ex:
kojihub.get_next_release(self.binfo)
self.assertEqual(f'Unable to increment release value: {val}', str(ex.exception))
def test_get_next_release_bad_incr(self):
data = [