# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. PYTHON_VERSION_COMPATIBILITY = 'PY2+3' DEPS = [ 'gerrit', 'recipe_engine/step', ] def RunSteps(api): host = 'https://chromium-review.googlesource.com' project = 'v8/v8' branch = 'test' commit = '67ebf73496383c6777035e374d2d664009e2aa5c' data = api.gerrit.create_gerrit_branch(host, project, branch, commit, allow_existent_branch=True) assert data == 'refs/heads/test' data = api.gerrit.get_gerrit_branch(host, project, 'main') assert data == '67ebf73496383c6777035e374d2d664009e2aa5c' data = api.gerrit.create_gerrit_tag(host, project, '1.0', commit) assert data == 'refs/tags/1.0' tag_body = { "revision": "67ebf73496383c6777035e374d2d664009e2aa5c", } json_data = api.gerrit.call_raw_api(host, '/projects/%s/tags/1.0' % project, method='PUT', body=tag_body, accept_statuses=[201], name='raw_create_tag') assert json_data['ref'] == 'refs/tags/1.0' api.gerrit.move_changes(host, project, 'master', 'main') change_info = api.gerrit.update_files(host, project, 'main', {'chrome/VERSION': '99.99.99.99'}, 'Dummy CL.', submit=True, cc_list=['foo@example.com']) assert int(change_info['_number']) == 91827, change_info assert change_info['status'] == 'MERGED' # Query for changes in Chromium's CQ. api.gerrit.get_changes( host, query_params=[ ('project', 'chromium/src'), ('status', 'open'), ('label', 'Commit-Queue>0'), ], start=1, limit=1, ) related_changes = api.gerrit.get_related_changes(host, change='58478', revision='2') assert len(related_changes["changes"]) == 1 # Query which returns no changes is still successful query. empty_list = api.gerrit.get_changes( host, query_params=[ ('project', 'chromium/src'), ('status', 'open'), ('label', 'Commit-Queue>2'), ], name='changes empty query', ) assert len(empty_list) == 0 api.gerrit.get_change_description( host, change=123, patchset=1) api.gerrit.set_change_label(host, 123, 'code-review', -1) api.gerrit.set_change_label(host, 123, 'commit-queue', 1) api.gerrit.abandon_change(host, 123, 'bad roll') with api.step.defer_results(): api.gerrit.get_change_description( host, change=122, patchset=3, step_test_data=api.gerrit.test_api.get_empty_changes_response_data) def GenTests(api): yield (api.test('basic', status="INFRA_FAILURE") + api.step_data('gerrit create_gerrit_branch (v8/v8 test)', api.gerrit.make_gerrit_create_branch_response_data()) + api.step_data('gerrit create_gerrit_tag (v8/v8 1.0)', api.gerrit.make_gerrit_create_tag_response_data()) + api.step_data('gerrit raw_create_tag', api.gerrit.make_gerrit_create_tag_response_data()) + api.step_data('gerrit create change at (v8/v8 main)', api.gerrit.update_files_response_data()) + api.step_data('verify the patchset exists on CL 91827.gerrit changes', api.gerrit.get_empty_changes_response_data()) + api.step_data('gerrit submit change 91827', api.gerrit.update_files_response_data(status='MERGED')) + api.step_data('gerrit get_gerrit_branch (v8/v8 main)', api.gerrit.make_gerrit_get_branch_response_data()) + api.step_data('gerrit move changes', api.gerrit.get_move_change_response_data(branch='main')) + api.step_data('gerrit relatedchanges', api.gerrit.get_related_changes_response_data()) + api.step_data('gerrit changes empty query', api.gerrit.get_empty_changes_response_data()))