RequiredPullRequestReviews.py
1 ############################ Copyrights and license ############################ 2 # # 3 # Copyright 2018 Steve Kowalik <steven@wedontsleep.org> # 4 # # 5 # This file is part of PyGithub. # 6 # http://pygithub.readthedocs.io/ # 7 # # 8 # PyGithub is free software: you can redistribute it and/or modify it under # 9 # the terms of the GNU Lesser General Public License as published by the Free # 10 # Software Foundation, either version 3 of the License, or (at your option) # 11 # any later version. # 12 # # 13 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # 14 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # 15 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # 16 # details. # 17 # # 18 # You should have received a copy of the GNU Lesser General Public License # 19 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>. # 20 # # 21 ################################################################################ 22 23 from . import Framework 24 25 26 class RequiredPullRequestReviews(Framework.TestCase): 27 def setUp(self): 28 super().setUp() 29 self.required_pull_request_reviews = ( 30 self.g.get_user().get_repo("PyGithub").get_branch("integrations").get_required_pull_request_reviews() 31 ) 32 33 def testAttributes(self): 34 self.assertTrue(self.required_pull_request_reviews.dismiss_stale_reviews) 35 self.assertTrue(self.required_pull_request_reviews.require_code_owner_reviews) 36 self.assertEqual(self.required_pull_request_reviews.required_approving_review_count, 3) 37 self.assertEqual( 38 self.required_pull_request_reviews.url, 39 "https://api.github.com/repos/jacquev6/PyGithub/branches/integrations/protection/required_pull_request_reviews", 40 ) 41 self.assertIs(self.required_pull_request_reviews.dismissal_users, None) 42 self.assertIs(self.required_pull_request_reviews.dismissal_teams, None) 43 self.assertEqual( 44 self.required_pull_request_reviews.__repr__(), 45 'RequiredPullRequestReviews(url="https://api.github.com/repos/jacquev6/PyGithub/branches/integrations/protection/required_pull_request_reviews", require_code_owner_reviews=True, dismiss_stale_reviews=True)', 46 ) 47 48 def testOrganizationOwnedTeam(self): 49 required_pull_request_reviews = ( 50 self.g.get_repo("PyGithub/PyGithub", lazy=True) 51 .get_branch("integrations") 52 .get_required_pull_request_reviews() 53 ) 54 self.assertListKeyEqual( 55 required_pull_request_reviews.dismissal_users, 56 lambda u: u.login, 57 ["jacquev6"], 58 ) 59 self.assertListKeyEqual( 60 required_pull_request_reviews.dismissal_teams, 61 lambda t: t.slug, 62 ["pygithub-owners"], 63 )