import os import sys import koji from koji_cli.lib import activate_session ''' Simple script to test https://pagure.io/koji/issue/4149 Usage: test-callnum.py Requires admin privileges Creates and cancels a task ''' # set up session koji = koji.get_profile_module(sys.argv[1]) for name in ('cert', 'serverca'): value = os.path.expanduser(getattr(koji.config, name)) setattr(koji.config, name, value) session_opts = koji.grab_session_options(koji.config) session = koji.ClientSession(koji.config.server, session_opts) activate_session(session, koji.config) # make some calls session.echo('ok') session.echo('ok') # we have to make a call that involves a commit to actually record a callnum in the db task_id = session.makeTask('echo', []) session.cancelTask(task_id) # check callnum sinfo = session.getSessionInfo() callnum = sinfo['callnum'] print(f'Got callnum={callnum!r}') assert callnum is not None