Skip to content

Commit

Permalink
Add test for push webhook event
Browse files Browse the repository at this point in the history
  • Loading branch information
gagbo authored and XAMPPRocky committed Aug 24, 2023
1 parent 6cf0fbb commit 48c95a0
Show file tree
Hide file tree
Showing 2 changed files with 174 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/models/webhook_events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1133,4 +1133,12 @@ mod tests {
RepositoryWebhookEventAction::Deleted
);
}

#[test]
fn deserialize_push() {
let json = include_str!("../../tests/resources/push_webhook_event.json");
let event = WebhookEvent::try_from_header_and_body("push", json).unwrap();
let WebhookEventPayload::Push(push_event) = event.specific else {panic!(" event is of the wrong type {:?}", event)};
assert!(push_event.created);
}
}
166 changes: 166 additions & 0 deletions tests/resources/push_webhook_event.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
{
"ref": "refs/tags/v0.2.1",
"before": "0000000000000000000000000000000000000000",
"after": "f19c884ab35c8d243bf9d857d631a5d4f190079f",
"repository": {
"id": 680143540,
"node_id": "R_kgDOKIoqtA",
"name": "app-test-repo",
"full_name": "gagbo/app-test-repo",
"private": false,
"owner": {
"name": "gagbo",
"email": "[email protected]",
"login": "gagbo",
"id": 10496163,
"node_id": "MDQ6VXNlcjEwNDk2MTYz",
"avatar_url": "https://avatars.githubusercontent.com/u/10496163?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/gagbo",
"html_url": "https://github.com/gagbo",
"followers_url": "https://api.github.com/users/gagbo/followers",
"following_url": "https://api.github.com/users/gagbo/following{/other_user}",
"gists_url": "https://api.github.com/users/gagbo/gists{/gist_id}",
"starred_url": "https://api.github.com/users/gagbo/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/gagbo/subscriptions",
"organizations_url": "https://api.github.com/users/gagbo/orgs",
"repos_url": "https://api.github.com/users/gagbo/repos",
"events_url": "https://api.github.com/users/gagbo/events{/privacy}",
"received_events_url": "https://api.github.com/users/gagbo/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/gagbo/app-test-repo",
"description": "Nothing to see here, just testing Github App hooks",
"fork": false,
"url": "https://github.com/gagbo/app-test-repo",
"forks_url": "https://api.github.com/repos/gagbo/app-test-repo/forks",
"keys_url": "https://api.github.com/repos/gagbo/app-test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/gagbo/app-test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/gagbo/app-test-repo/teams",
"hooks_url": "https://api.github.com/repos/gagbo/app-test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/gagbo/app-test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/gagbo/app-test-repo/events",
"assignees_url": "https://api.github.com/repos/gagbo/app-test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/gagbo/app-test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/gagbo/app-test-repo/tags",
"blobs_url": "https://api.github.com/repos/gagbo/app-test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/gagbo/app-test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/gagbo/app-test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/gagbo/app-test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/gagbo/app-test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/gagbo/app-test-repo/languages",
"stargazers_url": "https://api.github.com/repos/gagbo/app-test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/gagbo/app-test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/gagbo/app-test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/gagbo/app-test-repo/subscription",
"commits_url": "https://api.github.com/repos/gagbo/app-test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/gagbo/app-test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/gagbo/app-test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/gagbo/app-test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/gagbo/app-test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/gagbo/app-test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/gagbo/app-test-repo/merges",
"archive_url": "https://api.github.com/repos/gagbo/app-test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/gagbo/app-test-repo/downloads",
"issues_url": "https://api.github.com/repos/gagbo/app-test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/gagbo/app-test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/gagbo/app-test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/gagbo/app-test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/gagbo/app-test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/gagbo/app-test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/gagbo/app-test-repo/deployments",
"created_at": 1692363214,
"updated_at": "2023-08-18T12:57:26Z",
"pushed_at": 1692365608,
"git_url": "git://github.com/gagbo/app-test-repo.git",
"ssh_url": "[email protected]:gagbo/app-test-repo.git",
"clone_url": "https://github.com/gagbo/app-test-repo.git",
"svn_url": "https://github.com/gagbo/app-test-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": "Rust",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"has_discussions": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 0,
"license": null,
"allow_forking": true,
"is_template": false,
"web_commit_signoff_required": false,
"topics": [],
"visibility": "public",
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "main",
"stargazers": 0,
"master_branch": "main"
},
"pusher": {
"name": "gagbo",
"email": "[email protected]"
},
"sender": {
"login": "gagbo",
"id": 10496163,
"node_id": "MDQ6VXNlcjEwNDk2MTYz",
"avatar_url": "https://avatars.githubusercontent.com/u/10496163?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/gagbo",
"html_url": "https://github.com/gagbo",
"followers_url": "https://api.github.com/users/gagbo/followers",
"following_url": "https://api.github.com/users/gagbo/following{/other_user}",
"gists_url": "https://api.github.com/users/gagbo/gists{/gist_id}",
"starred_url": "https://api.github.com/users/gagbo/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/gagbo/subscriptions",
"organizations_url": "https://api.github.com/users/gagbo/orgs",
"repos_url": "https://api.github.com/users/gagbo/repos",
"events_url": "https://api.github.com/users/gagbo/events{/privacy}",
"received_events_url": "https://api.github.com/users/gagbo/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 88888888,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzk1OTM1MjA="
},
"created": true,
"deleted": false,
"forced": false,
"base_ref": null,
"compare": "https://github.com/gagbo/app-test-repo/compare/v0.2.1",
"commits": [],
"head_commit": {
"id": "bd7a63727468ca899e6a43e40fe9d76b3501f3f4",
"tree_id": "08bf0cc761bc5c8b4f8ebc150ca0ccad28ab1f26",
"distinct": true,
"message": "Merge pull request #2 from gagbo/add_slow_route\n\nAdd slow route",
"timestamp": "2023-08-18T15:20:53+02:00",
"url": "https://github.com/gagbo/app-test-repo/commit/bd7a63727468ca899e6a43e40fe9d76b3501f3f4",
"author": {
"name": "Gerry Agbobada",
"email": "[email protected]",
"username": "gagbo"
},
"committer": {
"name": "GitHub",
"email": "[email protected]",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
"src/main.rs"
]
}
}

0 comments on commit 48c95a0

Please sign in to comment.