promoteBuild: reformat error messages
This commit is contained in:
parent
3dbe136187
commit
8a64c93d05
2 changed files with 15 additions and 11 deletions
|
|
@ -16002,12 +16002,12 @@ def _clean_draft_link(promoted_build):
|
|||
def _promote_build(build, user=None, force=False):
|
||||
"""promote a draft build to a regular one"""
|
||||
binfo = get_build(build, strict=True)
|
||||
err_fmt = f"Cannot promote build {binfo['nvr']}. Reason: {{}}"
|
||||
if not binfo.get('draft'):
|
||||
raise koji.GenericError(f"Not a draft build: {binfo['nvr']}")
|
||||
raise koji.GenericError(err_fmt.format("Not a draft build"))
|
||||
state = koji.BUILD_STATES[binfo['state']]
|
||||
if state != 'COMPLETE':
|
||||
raise koji.GenericError(f"Cannot promote build - {binfo['nvr']}."
|
||||
f' Reason: state ({state}) is not COMPLETE.')
|
||||
raise koji.GenericError(err_fmt.format(f'state ({state}) is not COMPLETE.'))
|
||||
|
||||
old_release = binfo['release']
|
||||
target_release = koji.parse_target_release(old_release)
|
||||
|
|
@ -16015,11 +16015,11 @@ def _promote_build(build, user=None, force=False):
|
|||
# drop id to get build by NVR
|
||||
target_build = dslice(binfo, ['name', 'version'])
|
||||
target_build['release'] = target_release
|
||||
old_build = get_build(target_build)
|
||||
old_build = get_build(target_build, strict=False)
|
||||
if old_build:
|
||||
raise koji.GenericError(
|
||||
f"Cannot promote to an existing target build: {old_build['nvr']}(#{old_build['id']})"
|
||||
)
|
||||
raise koji.GenericError(err_fmt.format(
|
||||
f"Target build exists: {old_build['nvr']}(#{old_build['id']})"
|
||||
))
|
||||
|
||||
user = get_user(user, strict=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,10 @@ class TestPromoteBuild(unittest.TestCase):
|
|||
|
||||
with self.assertRaises(koji.GenericError) as cm:
|
||||
self.exports.promoteBuild('a-regular-build')
|
||||
self.assertEqual(str(cm.exception), "Not a draft build: testnvr")
|
||||
self.assertEqual(
|
||||
str(cm.exception),
|
||||
"Cannot promote build testnvr. Reason: Not a draft build"
|
||||
)
|
||||
self.assertEqual(len(self.updates), 0)
|
||||
|
||||
def test_promote_build_target_release(self):
|
||||
|
|
@ -123,6 +126,7 @@ class TestPromoteBuild(unittest.TestCase):
|
|||
'version': 'bar',
|
||||
# bad delimiter
|
||||
'release': 'tgtrel@draft_1',
|
||||
'nvr': 'testnvr',
|
||||
'extra': {
|
||||
'draft': {
|
||||
'promoted': False,
|
||||
|
|
@ -171,7 +175,7 @@ class TestPromoteBuild(unittest.TestCase):
|
|||
self.exports.promoteBuild('a-regular-build')
|
||||
self.assertEqual(
|
||||
str(cm.exception),
|
||||
f"Cannot promote build - {draft['nvr']}. Reason: state (BUILDING) is not COMPLETE."
|
||||
f"Cannot promote build {draft['nvr']}. Reason: state (BUILDING) is not COMPLETE."
|
||||
)
|
||||
self.assertEqual(len(self.updates), 0)
|
||||
|
||||
|
|
@ -186,11 +190,11 @@ class TestPromoteBuild(unittest.TestCase):
|
|||
self.exports.promoteBuild('a-regular-build')
|
||||
self.assertEqual(
|
||||
str(cm.exception),
|
||||
"Cannot promote to an existing target build: oldnvr(#any)"
|
||||
"Cannot promote build testnvr. Reason: Target build exists: oldnvr(#any)"
|
||||
)
|
||||
self.assertEqual(len(self.updates), 0)
|
||||
self.get_build.assert_called_with({
|
||||
'name': 'foo',
|
||||
'version': 'bar',
|
||||
'release': 'tgtrel'
|
||||
})
|
||||
}, strict=False)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue