Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (257929 => 257930)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-03-05 18:42:04 UTC (rev 257929)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-03-05 18:51:31 UTC (rev 257930)
@@ -46,7 +46,8 @@
RunEWSBuildbotCheckConfig, RunEWSUnitTests, RunResultsdbpyTests, RunJavaScriptCoreTests,
RunJSCTestsWithoutPatch, RunWebKit1Tests, RunWebKitPerlTests, RunWebKitPyPython2Tests,
RunWebKitPyPython3Tests, RunWebKitTests, RunWebKitTestsWithoutPatch, TestWithFailureCount,
- Trigger, TransferToS3, UnApplyPatchIfRequired, UpdateWorkingDirectory, UploadBuiltProduct, UploadTestResults, ValidatePatch)
+ Trigger, TransferToS3, UnApplyPatchIfRequired, UpdateWorkingDirectory, UploadBuiltProduct,
+ UploadTestResults, ValidateCommiterAndReviewer, ValidatePatch)
# Workaround for https://github.com/buildbot/buildbot/issues/4669
from buildbot.test.fake.fakebuild import FakeBuild
@@ -3118,5 +3119,62 @@
return self.runStep()
+class TestValidateCommiterAndReviewer(BuildStepMixinAdditions, unittest.TestCase):
+ def setUp(self):
+ self.longMessage = True
+
+ def mock_load_contributors(cls, *args, **kwargs):
+ return {'aakash_j...@apple.com': {'name': 'Aakash Jain', 'status': 'reviewer'},
+ 'commit...@webkit.org': {'name': 'WebKit Committer', 'status': 'committer'}}
+ ValidateCommiterAndReviewer.load_contributors = mock_load_contributors
+ return self.setUpBuildStep()
+
+ def tearDown(self):
+ return self.tearDownBuildStep()
+
+ def test_success(self):
+ self.setupStep(ValidateCommiterAndReviewer())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('patch_committer', 'commit...@webkit.org')
+ self.setProperty('patch_reviewer', 'aakash_j...@apple.com')
+ self.expectHidden(False)
+ self.assertEqual(ValidateCommiterAndReviewer.haltOnFailure, False)
+ self.expectOutcome(result=SUCCESS, state_string='Validated commiter and reviewer')
+ return self.runStep()
+
+ def test_success_no_reviewer(self):
+ self.setupStep(ValidateCommiterAndReviewer())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('patch_committer', 'aakash_j...@apple.com')
+ self.expectHidden(False)
+ self.expectOutcome(result=SUCCESS, state_string='Validated committer')
+ return self.runStep()
+
+ def test_failure_load_contributors(self):
+ self.setupStep(ValidateCommiterAndReviewer())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('patch_committer', 'a...@webkit.org')
+ ValidateCommiterAndReviewer.load_contributors = lambda x: {}
+ self.expectHidden(False)
+ self.expectOutcome(result=FAILURE, state_string='Failed to get contributors information')
+ return self.runStep()
+
+ def test_failure_invalid_committer(self):
+ self.setupStep(ValidateCommiterAndReviewer())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('patch_committer', 'a...@webkit.org')
+ self.expectHidden(False)
+ self.expectOutcome(result=FAILURE, state_string='a...@webkit.org does not have committer permissions')
+ return self.runStep()
+
+ def test_failure_invalid_reviewer(self):
+ self.setupStep(ValidateCommiterAndReviewer())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('patch_committer', 'aakash_j...@apple.com')
+ self.setProperty('patch_reviewer', 'commit...@webkit.org')
+ self.expectHidden(False)
+ self.expectOutcome(result=FAILURE, state_string='commit...@webkit.org does not have reviewer permissions')
+ return self.runStep()
+
if __name__ == '__main__':
unittest.main()