Skip to content
This repository was archived by the owner on Mar 14, 2023. It is now read-only.

Commit 66bd70c

Browse files
authored
Merge pull request #112 from davidalber/test-add-labels
Modifying and testing `add_labels`
2 parents f80398d + f093334 commit 66bd70c

File tree

2 files changed

+30
-7
lines changed

2 files changed

+30
-7
lines changed

highfive/newpr.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,7 @@ def is_collaborator(commenter, owner, repo, user, token):
138138
raise e
139139

140140
def add_labels(labels, owner, repo, issue, user, token):
141-
try:
142-
result = api_req("POST", issue_labels_url % (owner, repo, issue), labels, user, token)
143-
except urllib2.HTTPError, e:
144-
if e.code == 201:
145-
pass
146-
else:
147-
raise e
141+
api_req("POST", issue_labels_url % (owner, repo, issue), labels, user, token)
148142

149143

150144
# This function is adapted from https://github.com/kennethreitz/requests/blob/209a871b638f85e2c61966f82e547377ed4260d9/requests/utils.py#L562

highfive/tests/test_newpr.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,35 @@ def test_is_collaborator_error(self, mock_api_req):
164164
None, 'integrationUser', 'credential'
165165
)
166166

167+
@mock.patch('highfive.newpr.api_req')
168+
def test_add_labels_success(self, mock_api_req):
169+
mock_api_req.return_value = {'body': 'response body!'}
170+
labels = ['label1', 'label2']
171+
self.assertIsNone(
172+
newpr.add_labels(
173+
labels, 'repo-owner', 'repo-name', 7, 'integrationUser',
174+
'credential'
175+
)
176+
)
177+
mock_api_req.assert_called_with(
178+
'POST', 'https://api.github.com/repos/repo-owner/repo-name/issues/7/labels',
179+
labels, 'integrationUser', 'credential'
180+
)
181+
182+
@mock.patch('highfive.newpr.api_req')
183+
def test_add_labels_error(self, mock_api_req):
184+
mock_api_req.return_value = {}
185+
mock_api_req.side_effect = HTTPError(None, 422, None, None, None)
186+
labels = ['label1', 'label2']
187+
self.assertRaises(
188+
HTTPError, newpr.add_labels, labels, 'repo-owner', 'repo-name',
189+
7, 'integrationUser', 'credential'
190+
)
191+
mock_api_req.assert_called_with(
192+
'POST', 'https://api.github.com/repos/repo-owner/repo-name/issues/7/labels',
193+
labels, 'integrationUser', 'credential'
194+
)
195+
167196
def test_submodule(self):
168197
submodule_diff = self._load_fake('submodule.diff')
169198
self.assertTrue(newpr.modifies_submodule(submodule_diff))

0 commit comments

Comments
 (0)