本文整理汇总了Python中pysflib.sfgerrit.GerritUtils.get_reviewers方法的典型用法代码示例。如果您正苦于以下问题:Python GerritUtils.get_reviewers方法的具体用法?Python GerritUtils.get_reviewers怎么用?Python GerritUtils.get_reviewers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pysflib.sfgerrit.GerritUtils
的用法示例。
在下文中一共展示了GerritUtils.get_reviewers方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestProjectTestsWorkflow
# 需要导入模块: from pysflib.sfgerrit import GerritUtils [as 别名]
# 或者: from pysflib.sfgerrit.GerritUtils import get_reviewers [as 别名]
#.........这里部分代码省略.........
last_build_num_ch, last_success_build_num_ch = 0, 1
attempt = 0
while last_build_num_ch != last_success_build_num_ch:
if attempt >= 90:
break
time.sleep(1)
last_build_num_ch = \
self.ju.get_last_build_number("config-check",
"lastBuild")
last_success_build_num_ch = \
self.ju.get_last_build_number("config-check",
"lastSuccessfulBuild")
attempt += 1
self.assertEqual(last_build_num_ch, last_success_build_num_ch)
# Check whether zuul sets verified to +2 after running the tests
# let some time to Zuul to update the test result to Gerrit.
self.assert_reviewer_approvals(change_id, '+2')
# verify whether zuul merged the patch
change = self.gu.get_change('config', 'master', change_id)
change_status = change['status']
attempt = 0
while change_status != 'MERGED':
if attempt >= 90:
break
time.sleep(1)
change = self.gu.get_change('config', 'master', change_id)
change_status = change['status']
attempt += 1
self.assertEqual(change_status, 'MERGED')
# Test post pipe line
# as the patch is merged, post pieline should run config-update job
# Wait for config-update to finish and verify the success
self.ju.wait_till_job_completes("config-update",
last_success_build_num_cu,
"lastSuccessfulBuild")
last_build_num_cu = \
self.ju.get_last_build_number("config-update",
"lastBuild")
last_success_build_num_cu = \
self.ju.get_last_build_number("config-update",
"lastSuccessfulBuild")
self.assertEqual(last_build_num_cu, last_success_build_num_cu)
# Retrieve the prev build number for pname-unit-tests
# Retrieve the prev build number for pname-functional-tests
last_success_build_num_sp_ut = \
self.ju.get_last_build_number("%s-unit-tests" % pname,
"lastSuccessfulBuild")
last_success_build_num_sp_ft = \
self.ju.get_last_build_number("%s-functional-tests" % pname,
"lastSuccessfulBuild")
# Test config-update
# config-update should have created jobs for pname
# Trigger tests on pname
# Send a review and check tests has been run
self.gitu_admin.add_commit_and_publish(
clone_dir, 'master', "Add useless file",
self.un)
# Wait for pname-unit-tests to finish and verify the success
self.ju.wait_till_job_completes("%s-unit-tests" % pname,
last_success_build_num_sp_ut,
"lastSuccessfulBuild")
# Wait for pname-functional-tests to end and check the success
self.ju.wait_till_job_completes("%s-functional-tests" % pname,
last_success_build_num_sp_ft,
"lastSuccessfulBuild")
# Check the unit tests succeed
last_build_num_sp_ut = \
self.ju.get_last_build_number("%s-unit-tests" % pname,
"lastBuild")
last_success_build_num_sp_ut = \
self.ju.get_last_build_number("%s-unit-tests" % pname,
"lastSuccessfulBuild")
self.assertEqual(last_build_num_sp_ut, last_success_build_num_sp_ut)
# Check the functional tests succeed
last_build_num_sp_ft = \
self.ju.get_last_build_number("%s-functional-tests" % pname,
"lastBuild")
last_success_build_num_sp_ft = \
self.ju.get_last_build_number("%s-functional-tests" % pname,
"lastSuccessfulBuild")
self.assertEqual(last_build_num_sp_ft, last_success_build_num_sp_ft)
# Get the change id
change_ids = self.gu.get_my_changes_for_project(pname)
self.assertGreater(len(change_ids), 0)
change_id = change_ids[0]
# let some time to Zuul to update the test result to Gerrit.
for i in range(90):
if "jenkins" in self.gu.get_reviewers(change_id):
break
time.sleep(1)
self.assert_reviewer_approvals(change_id, '+1')
示例2: test_check_add_automatic_reviewers
# 需要导入模块: from pysflib.sfgerrit import GerritUtils [as 别名]
# 或者: from pysflib.sfgerrit.GerritUtils import get_reviewers [as 别名]
def test_check_add_automatic_reviewers(self):
""" Test if reviewers-by-blame plugin works
"""
pname = 'p_%s' % create_random_str()
u2mail = config.USERS[config.USER_2]['email']
options = {'core-group': u2mail}
self.create_project(pname, options)
first_u = config.ADMIN_USER
gu_first_u = GerritUtils(
config.GATEWAY_URL,
auth_cookie=config.USERS[first_u]['auth_cookie'])
self.assertTrue(gu_first_u.project_exists(pname))
# Push data in the create project as Admin user
k1_index = gu_first_u.add_pubkey(config.USERS[first_u]["pubkey"])
priv_key_path = set_private_key(config.USERS[first_u]["privkey"])
gitu = GerritGitUtils(first_u,
priv_key_path,
config.USERS[first_u]['email'])
url = "ssh://%[email protected]%s:29418/%s" % (first_u, config.GATEWAY_HOST,
pname)
clone_dir = gitu.clone(url, pname)
self.dirs_to_delete.append(os.path.dirname(clone_dir))
data = ['this', 'is', 'a', 'couple', 'of', 'lines']
clone_dir = gitu.clone(url, pname)
file(os.path.join(clone_dir, "file"), 'w').write("\n".join(data))
gitu.add_commit_and_publish(clone_dir, "master", "Test commit",
fnames=["file"])
# Get the change id
change_ids = gu_first_u.get_my_changes_for_project(pname)
self.assertEqual(len(change_ids), 1)
change_id = change_ids[0]
# Merge the change
gu_first_u.submit_change_note(change_id, "current", "Code-Review", "2")
gu_first_u.submit_change_note(change_id, "current", "Verified", "2")
gu_first_u.submit_change_note(change_id, "current", "Workflow", "1")
second_u = config.USER_2
gu_second_u = GerritUtils(
config.GATEWAY_URL,
auth_cookie=config.USERS[second_u]['auth_cookie'])
self.assertTrue(gu_first_u.submit_patch(change_id, "current"))
# Change the file we have commited with Admin user
k2_index = gu_second_u.add_pubkey(config.USERS[second_u]["pubkey"])
priv_key_path = set_private_key(config.USERS[second_u]["privkey"])
gitu = GerritGitUtils(second_u,
priv_key_path,
config.USERS[second_u]['email'])
url = "ssh://%[email protected]%s:29418/%s" % (second_u, config.GATEWAY_HOST,
pname)
clone_dir = gitu.clone(url, pname)
self.dirs_to_delete.append(os.path.dirname(clone_dir))
data = ['this', 'is', 'some', 'lines']
file(os.path.join(clone_dir, "file"), 'w').write("\n".join(data))
gitu.add_commit_and_publish(clone_dir, "master", "Test commit",
fnames=["file"])
# Get the change id
change_ids = gu_second_u.get_my_changes_for_project(pname)
self.assertEqual(len(change_ids), 1)
change_id = change_ids[0]
# Verify first_u has been automatically added to reviewers
attempts = 0
while True:
if len(gu_second_u.get_reviewers(change_id)) > 0 or attempts >= 3:
break
attempts += 1
time.sleep(1)
reviewers = gu_second_u.get_reviewers(change_id)
self.assertGreaterEqual(len(reviewers), 1)
self.assertTrue(first_u in reviewers)
gu_first_u.del_pubkey(k1_index)
gu_second_u.del_pubkey(k2_index)
示例3: test_check_zuul_operations
# 需要导入模块: from pysflib.sfgerrit import GerritUtils [as 别名]
# 或者: from pysflib.sfgerrit.GerritUtils import get_reviewers [as 别名]
def test_check_zuul_operations(self):
""" Test if zuul verifies project correctly through zuul-demo project
"""
# zuul-demo - test project used exclusively to test zuul installation
# The necessary project descriptions are already declared in Jenkins
# and zuul
pname = 'demo/zuul-demo'
self.create_project(pname, config.ADMIN_USER)
un = config.ADMIN_USER
gu = GerritUtils(
config.GATEWAY_URL,
auth_cookie=config.USERS[un]['auth_cookie'])
ju = JenkinsUtils()
k_index = gu.add_pubkey(config.USERS[un]["pubkey"])
# Gerrit part
self.assertTrue(gu.project_exists(pname))
priv_key_path = set_private_key(config.USERS[un]["privkey"])
gitu = GerritGitUtils(un,
priv_key_path,
config.USERS[un]['email'])
url = "ssh://%[email protected]%s:29418/%s" % (un, config.GATEWAY_HOST,
pname)
clone_dir = gitu.clone(url, pname)
self.dirs_to_delete.append(os.path.dirname(clone_dir))
last_fail_build_num_ft = \
ju.get_last_build_number("zuul-demo-functional-tests",
"lastFailedBuild")
last_fail_build_num_ut = \
ju.get_last_build_number("zuul-demo-unit-tests",
"lastFailedBuild")
last_succeed_build_num_ft = \
ju.get_last_build_number("zuul-demo-functional-tests",
"lastSuccessfulBuild")
last_succeed_build_num_ut = \
ju.get_last_build_number("zuul-demo-unit-tests",
"lastSuccessfulBuild")
gitu.add_commit_and_publish(clone_dir, "master", "Test commit")
change_ids = gu.get_my_changes_for_project(pname)
self.assertGreater(len(change_ids), 0)
change_id = change_ids[0]
# Give some time for jenkins to work
ju.wait_till_job_completes("zuul-demo-functional-tests",
last_fail_build_num_ft, "lastFailedBuild")
ju.wait_till_job_completes("zuul-demo-unit-tests",
last_fail_build_num_ut, "lastFailedBuild")
attempt = 0
while "jenkins" not in gu.get_reviewers(change_id):
if attempt >= 90:
break
time.sleep(1)
attempt += 1
attempt = 0
while gu.get_reviewer_approvals(change_id, 'jenkins')['Verified'] \
!= '-1':
if attempt >= 90:
break
time.sleep(1)
attempt += 1
self.assertEqual(
gu.get_reviewer_approvals(change_id, 'jenkins')['Verified'], '-1')
# Add the test case files and resubmit for review
data = "echo Working"
files = ["run_functional-tests.sh", "run_tests.sh"]
for f in files:
file(os.path.join(clone_dir, f), 'w').write(data)
os.chmod(os.path.join(clone_dir, f), 0755)
gitu.add_commit_and_publish(clone_dir, "master", None, fnames=files)
# Give some time for jenkins to work
ju.wait_till_job_completes("zuul-demo-functional-tests",
last_succeed_build_num_ft,
"lastSuccessfulBuild")
ju.wait_till_job_completes("zuul-demo-unit-tests",
last_succeed_build_num_ut,
"lastSuccessfulBuild")
attempt = 0
while "jenkins" not in gu.get_reviewers(change_id):
if attempt >= 90:
break
time.sleep(1)
attempt += 1
attempt = 0
while gu.get_reviewer_approvals(change_id, 'jenkins')['Verified'] \
!= '+1':
if attempt >= 90:
break
#.........这里部分代码省略.........