PR#2517: lib: better argument checking for eventFromOpts
Merges #2517 https://pagure.io/koji/pull-request/2517 Fixes: #2513 https://pagure.io/koji/issue/2513 eventFromOpts is not handling missing/wrong values well
This commit is contained in:
commit
58ec59314c
2 changed files with 12 additions and 9 deletions
11
koji/util.py
11
koji/util.py
|
|
@ -599,14 +599,13 @@ def eventFromOpts(session, opts):
|
|||
if event_id:
|
||||
return session.getEvent(event_id)
|
||||
ts = getattr(opts, 'ts')
|
||||
if ts:
|
||||
if ts is not None:
|
||||
return session.getLastEvent(before=ts)
|
||||
repo = getattr(opts, 'repo')
|
||||
if repo:
|
||||
rinfo = session.repoInfo(repo)
|
||||
if rinfo:
|
||||
return {'id': rinfo['create_event'],
|
||||
'ts': rinfo['create_ts']}
|
||||
if repo is not None:
|
||||
rinfo = session.repoInfo(repo, strict=True)
|
||||
return {'id': rinfo['create_event'],
|
||||
'ts': rinfo['create_ts']}
|
||||
return None
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1121,11 +1121,11 @@ class MavenUtilTestCase(unittest.TestCase):
|
|||
self.assertEqual(None, koji.util.eventFromOpts(session, opts))
|
||||
|
||||
# opts.ts = timestamp
|
||||
opts = mock.MagicMock(event='', ts=timestamp)
|
||||
opts = mock.MagicMock(event=None, ts=timestamp)
|
||||
self.assertEqual(event, koji.util.eventFromOpts(session, opts))
|
||||
|
||||
# opts.repo = '1'
|
||||
opts = mock.MagicMock(event='', ts='', repo=1)
|
||||
opts = mock.MagicMock(event=None, ts=None, repo=1)
|
||||
expect = {'id': repo_info['create_event'],
|
||||
'ts': repo_info['create_ts']}
|
||||
|
||||
|
|
@ -1134,9 +1134,13 @@ class MavenUtilTestCase(unittest.TestCase):
|
|||
six.assertCountEqual(self, list(expect.items()), list(actual.items()))
|
||||
|
||||
# no event is matched case
|
||||
opts = mock.MagicMock(event=0, ts=0, repo=0)
|
||||
opts = mock.MagicMock(event=None, ts=None, repo=None)
|
||||
self.assertEqual(None, koji.util.eventFromOpts(session, opts))
|
||||
|
||||
# special case for ts 0
|
||||
opts = mock.MagicMock(event=None, ts=0, repo=None)
|
||||
self.assertEqual(event, koji.util.eventFromOpts(session, opts))
|
||||
|
||||
def test_setup_rlimits(self):
|
||||
"""Test test_setup_rlimits function"""
|
||||
logger = mock.MagicMock()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue