Skip to content

Commit c448c1d

Browse files
committed
Add basic server tests for mentions.
1 parent 7b98215 commit c448c1d

File tree

40 files changed

+4243
-0
lines changed

40 files changed

+4243
-0
lines changed

tests/server_test/mentions.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
use super::run_test;
2+
3+
#[test]
4+
fn default_mention() {
5+
// A new PR that touches a file in the [mentions] config with the default
6+
// message.
7+
run_test("mentions/default_mention");
8+
}
9+
10+
#[test]
11+
fn custom_message() {
12+
// A new PR that touches a file in the [mentions] config with the default
13+
// message.
14+
run_test("mentions/custom_message");
15+
}
16+
17+
#[test]
18+
fn dont_mention_twice() {
19+
// When pushing modifications to the same files, don't mention again.
20+
//
21+
// However if a push comes in for a different file, make sure it mentions again.
22+
//
23+
// This starts with a new PR adding example2/README.md.
24+
// It then pushes an update to example2/README.md.
25+
// And then a second update to add example1/README.md.
26+
run_test("mentions/dont_mention_twice");
27+
}

tests/server_test/mentions/custom_message/00-webhook-pr83_opened.json

Lines changed: 492 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"kind": "Request",
3+
"method": "GET",
4+
"path": "/ehuss/triagebot-test/main/triagebot.toml",
5+
"query": null,
6+
"request_body": "",
7+
"response_code": 200,
8+
"response_body": "[mentions.'foo/example1']\ncc = [\"@grashgal\", \"@ehuss\"]\n\n[mentions.'foo/example2']\ncc = [\"@grashgal\", \"@ehuss\"]\nmessage = \"a custom message\"\n"
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"kind": "Request",
3+
"method": "GET",
4+
"path": "/repos/ehuss/triagebot-test/compare/c4b85555a1e9aa18e15fe8bce84a4f1f8cd9e517...54d331809db68eeedbd425d0bc3e5fec2a6c5c9e",
5+
"query": null,
6+
"request_body": "",
7+
"response_code": 200,
8+
"response_body": "diff --git a/foo/example2/README.md b/foo/example2/README.md\nnew file mode 100644\nindex 0000000..4dca9fb\n--- /dev/null\n+++ b/foo/example2/README.md\n@@ -0,0 +1,2 @@\n+# Example2\n+\n"
9+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
"kind": "Request",
3+
"method": "POST",
4+
"path": "/repos/ehuss/triagebot-test/issues/83/comments",
5+
"query": null,
6+
"request_body": "{\"body\":\"a custom message\\n\\ncc @grashgal, @ehuss\"}",
7+
"response_code": 201,
8+
"response_body": {
9+
"author_association": "OWNER",
10+
"body": "a custom message\n\ncc @grashgal, @ehuss",
11+
"created_at": "2023-02-20T19:53:31Z",
12+
"html_url": "https://github.com/ehuss/triagebot-test/pull/83#issuecomment-1437486668",
13+
"id": 1437486668,
14+
"issue_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83",
15+
"node_id": "IC_kwDOHkK3Xc5Vrk5M",
16+
"performed_via_github_app": null,
17+
"reactions": {
18+
"+1": 0,
19+
"-1": 0,
20+
"confused": 0,
21+
"eyes": 0,
22+
"heart": 0,
23+
"hooray": 0,
24+
"laugh": 0,
25+
"rocket": 0,
26+
"total_count": 0,
27+
"url": "https://api.github.com/repos/ehuss/triagebot-test/issues/comments/1437486668/reactions"
28+
},
29+
"updated_at": "2023-02-20T19:53:31Z",
30+
"url": "https://api.github.com/repos/ehuss/triagebot-test/issues/comments/1437486668",
31+
"user": {
32+
"avatar_url": "https://avatars.githubusercontent.com/u/43198?u=4e88d47bc79d87f09f463582681d29f1ed6f478e&v=4",
33+
"events_url": "https://api.github.com/users/ehuss/events{/privacy}",
34+
"followers_url": "https://api.github.com/users/ehuss/followers",
35+
"following_url": "https://api.github.com/users/ehuss/following{/other_user}",
36+
"gists_url": "https://api.github.com/users/ehuss/gists{/gist_id}",
37+
"gravatar_id": "",
38+
"html_url": "https://github.com/ehuss",
39+
"id": 43198,
40+
"login": "ehuss",
41+
"node_id": "MDQ6VXNlcjQzMTk4",
42+
"organizations_url": "https://api.github.com/users/ehuss/orgs",
43+
"received_events_url": "https://api.github.com/users/ehuss/received_events",
44+
"repos_url": "https://api.github.com/users/ehuss/repos",
45+
"site_admin": false,
46+
"starred_url": "https://api.github.com/users/ehuss/starred{/owner}{/repo}",
47+
"subscriptions_url": "https://api.github.com/users/ehuss/subscriptions",
48+
"type": "User",
49+
"url": "https://api.github.com/users/ehuss"
50+
}
51+
}
52+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"kind": "Request",
3+
"method": "GET",
4+
"path": "/v1/teams.json",
5+
"query": null,
6+
"request_body": "",
7+
"response_code": 200,
8+
"response_body": null
9+
}
Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
{
2+
"kind": "Webhook",
3+
"webhook_event": "issue_comment",
4+
"payload": {
5+
"action": "created",
6+
"comment": {
7+
"author_association": "OWNER",
8+
"body": "a custom message\n\ncc @grashgal, @ehuss",
9+
"created_at": "2023-02-20T19:53:31Z",
10+
"html_url": "https://github.com/ehuss/triagebot-test/pull/83#issuecomment-1437486668",
11+
"id": 1437486668,
12+
"issue_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83",
13+
"node_id": "IC_kwDOHkK3Xc5Vrk5M",
14+
"performed_via_github_app": null,
15+
"reactions": {
16+
"+1": 0,
17+
"-1": 0,
18+
"confused": 0,
19+
"eyes": 0,
20+
"heart": 0,
21+
"hooray": 0,
22+
"laugh": 0,
23+
"rocket": 0,
24+
"total_count": 0,
25+
"url": "https://api.github.com/repos/ehuss/triagebot-test/issues/comments/1437486668/reactions"
26+
},
27+
"updated_at": "2023-02-20T19:53:31Z",
28+
"url": "https://api.github.com/repos/ehuss/triagebot-test/issues/comments/1437486668",
29+
"user": {
30+
"avatar_url": "https://avatars.githubusercontent.com/u/43198?v=4",
31+
"events_url": "https://api.github.com/users/ehuss/events{/privacy}",
32+
"followers_url": "https://api.github.com/users/ehuss/followers",
33+
"following_url": "https://api.github.com/users/ehuss/following{/other_user}",
34+
"gists_url": "https://api.github.com/users/ehuss/gists{/gist_id}",
35+
"gravatar_id": "",
36+
"html_url": "https://github.com/ehuss",
37+
"id": 43198,
38+
"login": "ehuss",
39+
"node_id": "MDQ6VXNlcjQzMTk4",
40+
"organizations_url": "https://api.github.com/users/ehuss/orgs",
41+
"received_events_url": "https://api.github.com/users/ehuss/received_events",
42+
"repos_url": "https://api.github.com/users/ehuss/repos",
43+
"site_admin": false,
44+
"starred_url": "https://api.github.com/users/ehuss/starred{/owner}{/repo}",
45+
"subscriptions_url": "https://api.github.com/users/ehuss/subscriptions",
46+
"type": "User",
47+
"url": "https://api.github.com/users/ehuss"
48+
}
49+
},
50+
"issue": {
51+
"active_lock_reason": null,
52+
"assignee": null,
53+
"assignees": [],
54+
"author_association": "OWNER",
55+
"body": null,
56+
"closed_at": null,
57+
"comments": 1,
58+
"comments_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83/comments",
59+
"created_at": "2023-02-20T19:53:29Z",
60+
"draft": false,
61+
"events_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83/events",
62+
"html_url": "https://github.com/ehuss/triagebot-test/pull/83",
63+
"id": 1592371920,
64+
"labels": [],
65+
"labels_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83/labels{/name}",
66+
"locked": false,
67+
"milestone": null,
68+
"node_id": "PR_kwDOHkK3Xc5KXzp4",
69+
"number": 83,
70+
"performed_via_github_app": null,
71+
"pull_request": {
72+
"diff_url": "https://github.com/ehuss/triagebot-test/pull/83.diff",
73+
"html_url": "https://github.com/ehuss/triagebot-test/pull/83",
74+
"merged_at": null,
75+
"patch_url": "https://github.com/ehuss/triagebot-test/pull/83.patch",
76+
"url": "https://api.github.com/repos/ehuss/triagebot-test/pulls/83"
77+
},
78+
"reactions": {
79+
"+1": 0,
80+
"-1": 0,
81+
"confused": 0,
82+
"eyes": 0,
83+
"heart": 0,
84+
"hooray": 0,
85+
"laugh": 0,
86+
"rocket": 0,
87+
"total_count": 0,
88+
"url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83/reactions"
89+
},
90+
"repository_url": "https://api.github.com/repos/ehuss/triagebot-test",
91+
"state": "open",
92+
"state_reason": null,
93+
"timeline_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83/timeline",
94+
"title": "Add example2 file.",
95+
"updated_at": "2023-02-20T19:53:31Z",
96+
"url": "https://api.github.com/repos/ehuss/triagebot-test/issues/83",
97+
"user": {
98+
"avatar_url": "https://avatars.githubusercontent.com/u/43198?v=4",
99+
"events_url": "https://api.github.com/users/ehuss/events{/privacy}",
100+
"followers_url": "https://api.github.com/users/ehuss/followers",
101+
"following_url": "https://api.github.com/users/ehuss/following{/other_user}",
102+
"gists_url": "https://api.github.com/users/ehuss/gists{/gist_id}",
103+
"gravatar_id": "",
104+
"html_url": "https://github.com/ehuss",
105+
"id": 43198,
106+
"login": "ehuss",
107+
"node_id": "MDQ6VXNlcjQzMTk4",
108+
"organizations_url": "https://api.github.com/users/ehuss/orgs",
109+
"received_events_url": "https://api.github.com/users/ehuss/received_events",
110+
"repos_url": "https://api.github.com/users/ehuss/repos",
111+
"site_admin": false,
112+
"starred_url": "https://api.github.com/users/ehuss/starred{/owner}{/repo}",
113+
"subscriptions_url": "https://api.github.com/users/ehuss/subscriptions",
114+
"type": "User",
115+
"url": "https://api.github.com/users/ehuss"
116+
}
117+
},
118+
"repository": {
119+
"allow_forking": true,
120+
"archive_url": "https://api.github.com/repos/ehuss/triagebot-test/{archive_format}{/ref}",
121+
"archived": false,
122+
"assignees_url": "https://api.github.com/repos/ehuss/triagebot-test/assignees{/user}",
123+
"blobs_url": "https://api.github.com/repos/ehuss/triagebot-test/git/blobs{/sha}",
124+
"branches_url": "https://api.github.com/repos/ehuss/triagebot-test/branches{/branch}",
125+
"clone_url": "https://github.com/ehuss/triagebot-test.git",
126+
"collaborators_url": "https://api.github.com/repos/ehuss/triagebot-test/collaborators{/collaborator}",
127+
"comments_url": "https://api.github.com/repos/ehuss/triagebot-test/comments{/number}",
128+
"commits_url": "https://api.github.com/repos/ehuss/triagebot-test/commits{/sha}",
129+
"compare_url": "https://api.github.com/repos/ehuss/triagebot-test/compare/{base}...{head}",
130+
"contents_url": "https://api.github.com/repos/ehuss/triagebot-test/contents/{+path}",
131+
"contributors_url": "https://api.github.com/repos/ehuss/triagebot-test/contributors",
132+
"created_at": "2022-06-26T21:31:31Z",
133+
"default_branch": "main",
134+
"deployments_url": "https://api.github.com/repos/ehuss/triagebot-test/deployments",
135+
"description": "Triagebot testing",
136+
"disabled": false,
137+
"downloads_url": "https://api.github.com/repos/ehuss/triagebot-test/downloads",
138+
"events_url": "https://api.github.com/repos/ehuss/triagebot-test/events",
139+
"fork": false,
140+
"forks": 1,
141+
"forks_count": 1,
142+
"forks_url": "https://api.github.com/repos/ehuss/triagebot-test/forks",
143+
"full_name": "ehuss/triagebot-test",
144+
"git_commits_url": "https://api.github.com/repos/ehuss/triagebot-test/git/commits{/sha}",
145+
"git_refs_url": "https://api.github.com/repos/ehuss/triagebot-test/git/refs{/sha}",
146+
"git_tags_url": "https://api.github.com/repos/ehuss/triagebot-test/git/tags{/sha}",
147+
"git_url": "git://github.com/ehuss/triagebot-test.git",
148+
"has_discussions": false,
149+
"has_downloads": true,
150+
"has_issues": true,
151+
"has_pages": false,
152+
"has_projects": true,
153+
"has_wiki": true,
154+
"homepage": null,
155+
"hooks_url": "https://api.github.com/repos/ehuss/triagebot-test/hooks",
156+
"html_url": "https://github.com/ehuss/triagebot-test",
157+
"id": 507688797,
158+
"is_template": false,
159+
"issue_comment_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/comments{/number}",
160+
"issue_events_url": "https://api.github.com/repos/ehuss/triagebot-test/issues/events{/number}",
161+
"issues_url": "https://api.github.com/repos/ehuss/triagebot-test/issues{/number}",
162+
"keys_url": "https://api.github.com/repos/ehuss/triagebot-test/keys{/key_id}",
163+
"labels_url": "https://api.github.com/repos/ehuss/triagebot-test/labels{/name}",
164+
"language": null,
165+
"languages_url": "https://api.github.com/repos/ehuss/triagebot-test/languages",
166+
"license": null,
167+
"merges_url": "https://api.github.com/repos/ehuss/triagebot-test/merges",
168+
"milestones_url": "https://api.github.com/repos/ehuss/triagebot-test/milestones{/number}",
169+
"mirror_url": null,
170+
"name": "triagebot-test",
171+
"node_id": "R_kgDOHkK3XQ",
172+
"notifications_url": "https://api.github.com/repos/ehuss/triagebot-test/notifications{?since,all,participating}",
173+
"open_issues": 7,
174+
"open_issues_count": 7,
175+
"owner": {
176+
"avatar_url": "https://avatars.githubusercontent.com/u/43198?v=4",
177+
"events_url": "https://api.github.com/users/ehuss/events{/privacy}",
178+
"followers_url": "https://api.github.com/users/ehuss/followers",
179+
"following_url": "https://api.github.com/users/ehuss/following{/other_user}",
180+
"gists_url": "https://api.github.com/users/ehuss/gists{/gist_id}",
181+
"gravatar_id": "",
182+
"html_url": "https://github.com/ehuss",
183+
"id": 43198,
184+
"login": "ehuss",
185+
"node_id": "MDQ6VXNlcjQzMTk4",
186+
"organizations_url": "https://api.github.com/users/ehuss/orgs",
187+
"received_events_url": "https://api.github.com/users/ehuss/received_events",
188+
"repos_url": "https://api.github.com/users/ehuss/repos",
189+
"site_admin": false,
190+
"starred_url": "https://api.github.com/users/ehuss/starred{/owner}{/repo}",
191+
"subscriptions_url": "https://api.github.com/users/ehuss/subscriptions",
192+
"type": "User",
193+
"url": "https://api.github.com/users/ehuss"
194+
},
195+
"private": false,
196+
"pulls_url": "https://api.github.com/repos/ehuss/triagebot-test/pulls{/number}",
197+
"pushed_at": "2023-02-20T19:53:29Z",
198+
"releases_url": "https://api.github.com/repos/ehuss/triagebot-test/releases{/id}",
199+
"size": 18,
200+
"ssh_url": "git@github.com:ehuss/triagebot-test.git",
201+
"stargazers_count": 0,
202+
"stargazers_url": "https://api.github.com/repos/ehuss/triagebot-test/stargazers",
203+
"statuses_url": "https://api.github.com/repos/ehuss/triagebot-test/statuses/{sha}",
204+
"subscribers_url": "https://api.github.com/repos/ehuss/triagebot-test/subscribers",
205+
"subscription_url": "https://api.github.com/repos/ehuss/triagebot-test/subscription",
206+
"svn_url": "https://github.com/ehuss/triagebot-test",
207+
"tags_url": "https://api.github.com/repos/ehuss/triagebot-test/tags",
208+
"teams_url": "https://api.github.com/repos/ehuss/triagebot-test/teams",
209+
"topics": [],
210+
"trees_url": "https://api.github.com/repos/ehuss/triagebot-test/git/trees{/sha}",
211+
"updated_at": "2022-06-26T21:31:31Z",
212+
"url": "https://api.github.com/repos/ehuss/triagebot-test",
213+
"visibility": "public",
214+
"watchers": 0,
215+
"watchers_count": 0,
216+
"web_commit_signoff_required": false
217+
},
218+
"sender": {
219+
"avatar_url": "https://avatars.githubusercontent.com/u/43198?v=4",
220+
"events_url": "https://api.github.com/users/ehuss/events{/privacy}",
221+
"followers_url": "https://api.github.com/users/ehuss/followers",
222+
"following_url": "https://api.github.com/users/ehuss/following{/other_user}",
223+
"gists_url": "https://api.github.com/users/ehuss/gists{/gist_id}",
224+
"gravatar_id": "",
225+
"html_url": "https://github.com/ehuss",
226+
"id": 43198,
227+
"login": "ehuss",
228+
"node_id": "MDQ6VXNlcjQzMTk4",
229+
"organizations_url": "https://api.github.com/users/ehuss/orgs",
230+
"received_events_url": "https://api.github.com/users/ehuss/received_events",
231+
"repos_url": "https://api.github.com/users/ehuss/repos",
232+
"site_admin": false,
233+
"starred_url": "https://api.github.com/users/ehuss/starred{/owner}{/repo}",
234+
"subscriptions_url": "https://api.github.com/users/ehuss/subscriptions",
235+
"type": "User",
236+
"url": "https://api.github.com/users/ehuss"
237+
}
238+
}
239+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"kind": "Request",
3+
"method": "GET",
4+
"path": "/v1/teams.json",
5+
"query": null,
6+
"request_body": "",
7+
"response_code": 200,
8+
"response_body": null
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"kind": "Request",
3+
"method": "GET",
4+
"path": "/v1/teams.json",
5+
"query": null,
6+
"request_body": "",
7+
"response_code": 200,
8+
"response_body": null
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"kind": "Request",
3+
"method": "GET",
4+
"path": "/v1/teams.json",
5+
"query": null,
6+
"request_body": "",
7+
"response_code": 200,
8+
"response_body": null
9+
}

0 commit comments

Comments
 (0)