Skip to content

Commit c6cc2df

Browse files
committed
Added unit test for changed files
(cherry picked from commit e990523)
1 parent 8538742 commit c6cc2df

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
@@ -111,6 +111,130 @@
111111
}
112112
"""
113113

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

891+
def checkFileChanges(self, codebase=None):
892+
self.assertEqual(len(self.changeHook.master.data.updates.changesAdded), 1)
893+
change = self.changeHook.master.data.updates.changesAdded[0]
894+
self.assertEqual(change['repository'], 'ssh://git@git.example.com/Test/test.git')
895+
896+
self.assertEqual(
897+
change["author"], "Test User <Test@example.com>")
898+
self.assertEqual(
899+
change["revision"], 'ea07c3148db428876add8b312256239275c395fb')
900+
self.assertEqual(
901+
change["comments"], "test123\n")
902+
self.assertEqual(change["branch"], "master")
903+
self.assertEqual(change[
904+
"revlink"],
905+
"https://git.example.com/Test/test/commit/ea07c3148db428876add8b312256239275c395fb")
906+
self.assertEqual(change["files"], ["testfile2", "testfile1", "testfile3"])
907+
767908
def checkChangesFromPullRequest(self, codebase=None):
768909
self.assertEqual(len(self.changeHook.master.data.updates.changesAdded), 1)
769910
change = self.changeHook.master.data.updates.changesAdded[0]
@@ -804,6 +945,15 @@ def testPushEvent(self):
804945
res = yield self.request.test_render(self.changeHook)
805946
self.checkChangesFromPush(res)
806947

948+
@defer.inlineCallbacks
949+
def testChangedFiles(self):
950+
self.request = FakeRequest(content=giteaJsonPushModifiedFiles)
951+
self.request.uri = b'/change_hook/gitea'
952+
self.request.method = b'POST'
953+
self.request.received_headers[_HEADER_EVENT_TYPE] = b"push"
954+
res = yield self.request.test_render(self.changeHook)
955+
self.checkFileChanges(res)
956+
807957
@defer.inlineCallbacks
808958
def testPullRequestEvent(self):
809959
self.request = FakeRequest(content=giteaJsonPullRequestPayload)

0 commit comments

Comments
 (0)