Title: [257930] trunk/Tools
Revision
257930
Author
aakash_j...@apple.com
Date
2020-03-05 10:51:31 -0800 (Thu, 05 Mar 2020)

Log Message

[ews] Add unit tests for ValidateCommiterAndReviewer build step
https://bugs.webkit.org/show_bug.cgi?id=208262

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests for ValidateCommiterAndReviewer.

Modified Paths

Diff

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()

Modified: trunk/Tools/ChangeLog (257929 => 257930)


--- trunk/Tools/ChangeLog	2020-03-05 18:42:04 UTC (rev 257929)
+++ trunk/Tools/ChangeLog	2020-03-05 18:51:31 UTC (rev 257930)
@@ -1,5 +1,14 @@
 2020-03-05  Aakash Jain  <aakash_j...@apple.com>
 
+        [ews] Add unit tests for ValidateCommiterAndReviewer build step
+        https://bugs.webkit.org/show_bug.cgi?id=208262
+
+        Reviewed by Jonathan Bedard.
+
+        * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests for ValidateCommiterAndReviewer.
+
+2020-03-05  Aakash Jain  <aakash_j...@apple.com>
+
         commit-queue should run WK2 tests instead of WK1 tests
         https://bugs.webkit.org/show_bug.cgi?id=208544
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to