mirror of
https://github.com/status-im/PyGithub.git
synced 2026-09-01 03:11:09 +00:00
Support labels for PullRequests (#752)
PullRequests can also have labels attached to them, like Issues or Milestones. Extend PullRequest to also export them if they are present, as well as adding methods to add, remove and set labels.
This commit is contained in:
committed by
Wan Liuyang
parent
1e0150b527
commit
a308dc92df
@@ -10,6 +10,7 @@
|
||||
# Copyright 2016 Jannis Gebauer <ja.geb@me.com> #
|
||||
# Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> #
|
||||
# Copyright 2018 sfdye <tsfdye@gmail.com> #
|
||||
# Copyright 2018 Steve Kowalik <steven@wedontsleep.org> #
|
||||
# #
|
||||
# This file is part of PyGithub. #
|
||||
# http://pygithub.readthedocs.io/ #
|
||||
@@ -61,6 +62,7 @@ class PullRequest(Framework.TestCase):
|
||||
self.assertEqual(self.pull.html_url, "https://github.com/jacquev6/PyGithub/pull/31")
|
||||
self.assertEqual(self.pull.id, 1436215)
|
||||
self.assertEqual(self.pull.issue_url, "https://github.com/jacquev6/PyGithub/issues/31")
|
||||
self.assertListKeyEqual(self.pull.labels, lambda a: a.name, ["refactoring"])
|
||||
self.assertFalse(self.pull.mergeable)
|
||||
self.assertTrue(self.pull.merged)
|
||||
self.assertEqual(self.pull.merged_at, datetime.datetime(2012, 5, 27, 10, 29, 7))
|
||||
@@ -111,6 +113,49 @@ class PullRequest(Framework.TestCase):
|
||||
def testGetFiles(self):
|
||||
self.assertListKeyEqual(self.pull.get_files(), lambda f: f.filename, ["codegen/templates/GithubObject.py", "src/github/AuthenticatedUser.py", "src/github/Authorization.py", "src/github/Branch.py", "src/github/Commit.py", "src/github/CommitComment.py", "src/github/CommitFile.py", "src/github/CommitStats.py", "src/github/Download.py", "src/github/Event.py", "src/github/Gist.py", "src/github/GistComment.py", "src/github/GistHistoryState.py", "src/github/GitAuthor.py", "src/github/GitBlob.py", "src/github/GitCommit.py", "src/github/GitObject.py", "src/github/GitRef.py", "src/github/GitTag.py", "src/github/GitTree.py", "src/github/GitTreeElement.py", "src/github/Hook.py", "src/github/Issue.py", "src/github/IssueComment.py", "src/github/IssueEvent.py", "src/github/Label.py", "src/github/Milestone.py", "src/github/NamedUser.py", "src/github/Organization.py", "src/github/Permissions.py", "src/github/Plan.py", "src/github/PullRequest.py", "src/github/PullRequestComment.py", "src/github/PullRequestFile.py", "src/github/Repository.py", "src/github/RepositoryKey.py", "src/github/Tag.py", "src/github/Team.py", "src/github/UserKey.py", "test/Issue.py", "test/IssueEvent.py", "test/ReplayData/Issue.testAddAndRemoveLabels.txt", "test/ReplayData/Issue.testDeleteAndSetLabels.txt", "test/ReplayData/Issue.testGetLabels.txt", "test/ReplayData/IssueEvent.setUp.txt"])
|
||||
|
||||
def testGetLabels(self):
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring"])
|
||||
|
||||
def testAddAndRemoveLabels(self):
|
||||
wip = self.repo.get_label("wip")
|
||||
refactoring = self.repo.get_label("refactoring")
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring", "improvement"])
|
||||
self.pull.remove_from_labels(wip)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["refactoring", "improvement"])
|
||||
self.pull.remove_from_labels(refactoring)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["improvement"])
|
||||
self.pull.add_to_labels(wip, refactoring)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring", "improvement"])
|
||||
|
||||
def testAddAndRemoveLabelsWithStringArguments(self):
|
||||
wip = "wip"
|
||||
refactoring = "refactoring"
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring", "improvement"])
|
||||
self.pull.remove_from_labels(wip)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["refactoring", "improvement"])
|
||||
self.pull.remove_from_labels(refactoring)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["improvement"])
|
||||
self.pull.add_to_labels(wip, refactoring)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring", "improvement"])
|
||||
|
||||
def testDeleteAndSetLabels(self):
|
||||
wip = self.repo.get_label("wip")
|
||||
refactoring = self.repo.get_label("refactoring")
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring", "improvement"])
|
||||
self.pull.delete_labels()
|
||||
self.assertListKeyEqual(self.pull.get_labels(), None, [])
|
||||
self.pull.set_labels(wip, refactoring)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring"])
|
||||
|
||||
def testDeleteAndSetLabelsWithStringArguments(self):
|
||||
wip = "wip"
|
||||
refactoring = "refactoring"
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring", "improvement"])
|
||||
self.pull.delete_labels()
|
||||
self.assertListKeyEqual(self.pull.get_labels(), None, [])
|
||||
self.pull.set_labels(wip, refactoring)
|
||||
self.assertListKeyEqual(self.pull.get_labels(), lambda l: l.name, ["wip", "refactoring"])
|
||||
|
||||
def testMerge(self):
|
||||
self.assertFalse(self.pull.is_merged())
|
||||
status = self.pull.merge()
|
||||
|
||||
Reference in New Issue
Block a user