Skip to content

Commit e990523

Browse files
committed
Added unit test for changed files
1 parent e2297f3 commit e990523

File tree

1 file changed

+150
-0
lines changed

1 file changed

+150
-0
lines changed

buildbot_gitea/test/test_webhook.py

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,130 @@
113113
}
114114
"""
115115

116+
giteaJsonPushModifiedFiles = rb"""
117+
{
118+
"secret": "pass",
119+
"ref": "refs/heads/master",
120+
"before": "92a8bf0e02b2146e6b35b71d6e08c376133b7fc9",
121+
"after": "ea07c3148db428876add8b312256239275c395fb",
122+
"compare_url": "https://git.example.com/Test/test/compare/92a8bf0e02b2146e6b35b71d6e08c376133b7fc9...ea07c3148db428876add8b312256239275c395fb",
123+
"commits": [
124+
{
125+
"id": "ea07c3148db428876add8b312256239275c395fb",
126+
"message": "test123\n",
127+
"url": "https://git.example.com/Test/test/commit/ea07c3148db428876add8b312256239275c395fb",
128+
"author": {
129+
"name": "Test User",
130+
"email": "Test@example.com",
131+
"username": "Test"
132+
},
133+
"committer": {
134+
"name": "Test User",
135+
"email": "Test@example.com",
136+
"username": "Test"
137+
},
138+
"verification": null,
139+
"timestamp": "2021-03-09T20:12:19Z",
140+
"added": [
141+
"testfile2"
142+
],
143+
"removed": [
144+
"testfile3"
145+
],
146+
"modified": [
147+
"testfile1"
148+
]
149+
}
150+
],
151+
"head_commit": null,
152+
"repository": {
153+
"id": 29,
154+
"owner": {
155+
"id": 1,
156+
"login": "Test",
157+
"full_name": "Test User",
158+
"email": "Test@example.com",
159+
"avatar_url": "https://git.example.com/user/avatar/Test/-1",
160+
"language": "en-US",
161+
"is_admin": true,
162+
"last_login": "2021-03-09T20:10:52Z",
163+
"created": "2018-06-05T09:41:06Z",
164+
"username": "Test"
165+
},
166+
"name": "test",
167+
"full_name": "Test/test",
168+
"description": "",
169+
"empty": false,
170+
"private": true,
171+
"fork": false,
172+
"template": false,
173+
"parent": null,
174+
"mirror": false,
175+
"size": 17,
176+
"html_url": "https://git.example.com/Test/test",
177+
"ssh_url": "ssh://git@git.example.com/Test/test.git",
178+
"clone_url": "https://git.example.com/Test/test.git",
179+
"original_url": "",
180+
"website": "",
181+
"stars_count": 0,
182+
"forks_count": 0,
183+
"watchers_count": 1,
184+
"open_issues_count": 0,
185+
"open_pr_counter": 0,
186+
"release_counter": 0,
187+
"default_branch": "master",
188+
"archived": false,
189+
"created_at": "2019-03-03T17:26:23Z",
190+
"updated_at": "2021-03-09T20:12:20Z",
191+
"permissions": {
192+
"admin": true,
193+
"push": true,
194+
"pull": true
195+
},
196+
"has_issues": true,
197+
"internal_tracker": {
198+
"enable_time_tracker": false,
199+
"allow_only_contributors_to_track_time": true,
200+
"enable_issue_dependencies": true
201+
},
202+
"has_wiki": true,
203+
"has_pull_requests": true,
204+
"has_projects": false,
205+
"ignore_whitespace_conflicts": false,
206+
"allow_merge_commits": true,
207+
"allow_rebase": true,
208+
"allow_rebase_explicit": true,
209+
"allow_squash_merge": true,
210+
"avatar_url": "",
211+
"internal": false
212+
},
213+
"pusher": {
214+
"id": 1,
215+
"login": "Test",
216+
"full_name": "Test User",
217+
"email": "Test@example.com",
218+
"avatar_url": "https://git.example.com/user/avatar/Test/-1",
219+
"language": "en-US",
220+
"is_admin": true,
221+
"last_login": "2021-03-09T20:10:52Z",
222+
"created": "2018-06-05T09:41:06Z",
223+
"username": "Test"
224+
},
225+
"sender": {
226+
"id": 1,
227+
"login": "Test",
228+
"full_name": "Test User",
229+
"email": "Test@example.com",
230+
"avatar_url": "https://git.example.com/user/avatar/Test/-1",
231+
"language": "en-US",
232+
"is_admin": true,
233+
"last_login": "2021-03-09T20:10:52Z",
234+
"created": "2018-06-05T09:41:06Z",
235+
"username": "Test"
236+
}
237+
}
238+
"""
239+
116240
giteaInvalidSecretPush = rb"""
117241
{
118242
"secret": "invalidSecret",
@@ -772,6 +896,23 @@ def checkChangesFromPush(self, codebase=None):
772896
"revlink"],
773897
"https://git.example.com/max/webhook_test/commit/9d7157cc4a137b3e1dfe92750ccfb1bbad239f99")
774898

899+
def checkFileChanges(self, codebase=None):
900+
self.assertEqual(len(self.changeHook.master.data.updates.changesAdded), 1)
901+
change = self.changeHook.master.data.updates.changesAdded[0]
902+
self.assertEqual(change['repository'], 'ssh://git@git.example.com/Test/test.git')
903+
904+
self.assertEqual(
905+
change["author"], "Test User <Test@example.com>")
906+
self.assertEqual(
907+
change["revision"], 'ea07c3148db428876add8b312256239275c395fb')
908+
self.assertEqual(
909+
change["comments"], "test123\n")
910+
self.assertEqual(change["branch"], "master")
911+
self.assertEqual(change[
912+
"revlink"],
913+
"https://git.example.com/Test/test/commit/ea07c3148db428876add8b312256239275c395fb")
914+
self.assertEqual(change["files"], ["testfile2", "testfile1", "testfile3"])
915+
775916
def checkChangesFromPullRequest(self, codebase=None):
776917
self.assertEqual(len(self.changeHook.master.data.updates.changesAdded), 1)
777918
change = self.changeHook.master.data.updates.changesAdded[0]
@@ -813,6 +954,15 @@ def testPushEvent(self):
813954
res = yield self.request.test_render(self.changeHook)
814955
self.checkChangesFromPush(res)
815956

957+
@defer.inlineCallbacks
958+
def testChangedFiles(self):
959+
self.request = FakeRequest(content=giteaJsonPushModifiedFiles)
960+
self.request.uri = b'/change_hook/gitea'
961+
self.request.method = b'POST'
962+
self.request.received_headers[_HEADER_EVENT_TYPE] = b"push"
963+
res = yield self.request.test_render(self.changeHook)
964+
self.checkFileChanges(res)
965+
816966
@defer.inlineCallbacks
817967
def testPullRequestEvent(self):
818968
self.request = FakeRequest(content=giteaJsonPullRequestPayload)

0 commit comments

Comments
 (0)