Gerrit approval records have a 'by' field

We need to look one level deeper.

Change-Id: I81dbc316ded86739fd7d5413beb7a51a4e57e4f5
This commit is contained in:
James E. Blair 2014-01-24 13:50:23 -08:00
parent b5a4a832b7
commit 64ff4ef301
2 changed files with 8 additions and 5 deletions

View File

@ -221,11 +221,13 @@ class FakeChange(object):
approval = {'description': self.categories[category][0], approval = {'description': self.categories[category][0],
'type': category, 'type': category,
'value': str(value), 'value': str(value),
'username': username, 'by': {
'email': username + '@example.com', 'username': username,
'email': username + '@example.com',
},
'grantedOn': int(granted_on)} 'grantedOn': int(granted_on)}
for i, x in enumerate(self.patchsets[-1]['approvals'][:]): for i, x in enumerate(self.patchsets[-1]['approvals'][:]):
if x['username'] == username and x['type'] == category: if x['by']['username'] == username and x['type'] == category:
del self.patchsets[-1]['approvals'][i] del self.patchsets[-1]['approvals'][i]
self.patchsets[-1]['approvals'].append(approval) self.patchsets[-1]['approvals'].append(approval)
event = {'approvals': [approval], event = {'approvals': [approval],

View File

@ -1023,12 +1023,13 @@ class EventFilter(object):
matches_approval = False matches_approval = False
for approval in change.approvals: for approval in change.approvals:
found_approval = True found_approval = True
by = approval.get('by', {})
for k, v in rapproval.items(): for k, v in rapproval.items():
if k == 'username': if k == 'username':
if (approval['username'] != v): if (by.get('username', '') != v):
found_approval = False found_approval = False
elif k == 'email-filter': elif k == 'email-filter':
if (not v.search(approval['email'])): if (not v.search(by.get('email', ''))):
found_approval = False found_approval = False
elif k == 'newer-than': elif k == 'newer-than':
t = now - v t = now - v