block_pkglist compatibility fix

On older hubs --force is not supported, so CLI will fail on unknown
parameter. This use force option only if it is explicitly required.

Fixes: https://pagure.io/koji/issue/1388
This commit is contained in:
Tomas Kopecek 2019-04-08 09:49:08 +02:00 committed by Mike McLean
parent c6f3b23ecf
commit b4755745a2
2 changed files with 9 additions and 4 deletions

View file

@ -388,7 +388,12 @@ def handle_block_pkg(goptions, session, args):
return ret
session.multicall = True
for package in args[1:]:
session.packageListBlock(tag, package, force=options.force)
# force is not supported on older hub, so use it only explicitly
# https://pagure.io/koji/issue/1388
if options.force:
session.packageListBlock(tag, package, force=options.force)
else:
session.packageListBlock(tag, package)
session.multiCall(strict=True)

View file

@ -82,9 +82,9 @@ class TestBlockPkg(unittest.TestCase):
session.mock_calls, [
call.getTag(tag),
call.listPackages(tagID=dsttag['id'], inherited=True),
call.packageListBlock(tag, packages[0], force=False),
call.packageListBlock(tag, packages[1], force=False),
call.packageListBlock(tag, packages[2], force=False),
call.packageListBlock(tag, packages[0]),
call.packageListBlock(tag, packages[1]),
call.packageListBlock(tag, packages[2]),
call.multiCall(strict=True)])
self.assertNotEqual(rv, 1)