def gerrit_changes_over_rest(instance, filters): # Convert the "key:value" filter to a dictionary. req = dict(f.split(':', 1) for f in filters) try: # Instantiate the generator to force all the requests now and catch the # errors here. return list(gerrit_util.GenerateAllChanges(instance['url'], req, o_params=['MESSAGES', 'LABELS', 'DETAILED_ACCOUNTS'])) except gerrit_util.GerritError, e: print 'ERROR: Looking up %r: %s' % (instance['url'], e) return []
def gerrit_changes_over_rest(instance, filters): # Convert the "key:value" filter to a list of (key, value) pairs. req = list(f.split(':', 1) for f in filters) try: # Instantiate the generator to force all the requests now and catch the # errors here. return list(gerrit_util.GenerateAllChanges(instance['url'], req, o_params=['MESSAGES', 'LABELS', 'DETAILED_ACCOUNTS', 'CURRENT_REVISION', 'CURRENT_COMMIT'])) except gerrit_util.GerritError, e: logging.error('Looking up %r: %s', instance['url'], e) return []
def testGenerateAllChanges(self, mockQueryChanges): mockQueryChanges.side_effect = [ # First results page [ { '_number': '4' }, { '_number': '3' }, { '_number': '2', '_more_changes': True }, ], # Second results page, there are new changes, so second page includes # some results from the first page. [ { '_number': '2' }, { '_number': '1' }, ], # GenerateAllChanges queries again from the start to get any new # changes (5 in this case). [ { '_number': '5' }, { '_number': '4' }, { '_number': '3', '_more_changes': True }, ], ] changes = list(gerrit_util.GenerateAllChanges('host', 'params')) self.assertEqual([ { '_number': '4' }, { '_number': '3' }, { '_number': '2', '_more_changes': True }, { '_number': '1' }, { '_number': '5' }, ], changes) self.assertEqual([ mock.call('host', 'params', None, 500, None, 0), mock.call('host', 'params', None, 500, None, 3), mock.call('host', 'params', None, 500, None, 0), ], mockQueryChanges.mock_calls)