parent
002891e1ac
commit
9a6daef300
2 changed files with 27 additions and 1 deletions
|
|
@ -6137,6 +6137,11 @@ def handle_cancel(goptions, session, args):
|
|||
if len(args) == 0:
|
||||
parser.error("You must specify at least one task id or build")
|
||||
activate_session(session, goptions)
|
||||
older_hub = False
|
||||
hub_version = session.getKojiVersion()
|
||||
v = tuple([int(x) for x in hub_version.split('.')])
|
||||
if v < (1, 33, 0):
|
||||
older_hub = True
|
||||
tlist = []
|
||||
blist = []
|
||||
for arg in args:
|
||||
|
|
@ -6163,7 +6168,10 @@ def handle_cancel(goptions, session, args):
|
|||
for task_id in tlist:
|
||||
results.append(remote_fn(task_id, **opts))
|
||||
for build in blist:
|
||||
results.append(m.cancelBuild(build, strict=True))
|
||||
if not older_hub:
|
||||
results.append(m.cancelBuild(build, strict=True))
|
||||
else:
|
||||
results.append(m.cancelBuild(build))
|
||||
|
||||
err = False
|
||||
for r in results:
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class TestCancel(utils.CliTestCase):
|
|||
|
||||
%s: error: {message}
|
||||
""" % (self.progname, self.progname)
|
||||
self.session.getKojiVersion.return_value = '1.33.0'
|
||||
|
||||
def test_anon_cancel(self):
|
||||
args = ['123']
|
||||
|
|
@ -152,6 +153,23 @@ No such build: '%s'
|
|||
self.session.cancelTaskFull.assert_not_called()
|
||||
self.session.cancelBuild.assert_called_once_with(args[1], strict=True)
|
||||
|
||||
def test_non_exist_build_and_task_older_hub(self):
|
||||
self.session.getKojiVersion.return_value = '1.32.0'
|
||||
args = ['11111', 'nvr-1-30.1']
|
||||
expected_warn = """No such task: %s
|
||||
""" % (args[0])
|
||||
mcall = self.session.multicall.return_value.__enter__.return_value
|
||||
mcall.cancelTask.return_value = self.__vm(
|
||||
{'faultCode': 1000, 'faultString': 'No such task: %s' % args[0]})
|
||||
mcall.cancelBuild.return_value = self.__vm(False)
|
||||
rv = handle_cancel(self.options, self.session, args)
|
||||
self.assertEqual(rv, 1)
|
||||
self.assert_console_message(self.stderr, expected_warn)
|
||||
self.activate_session_mock.assert_called_once_with(self.session, self.options)
|
||||
self.session.cancelTask.assert_called_once_with(int(args[0]))
|
||||
self.session.cancelTaskFull.assert_not_called()
|
||||
self.session.cancelBuild.assert_called_once_with(args[1])
|
||||
|
||||
def test_cancel_help(self):
|
||||
self.assert_help(
|
||||
handle_cancel,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue