summaryrefslogtreecommitdiff
path: root/tests/units/fixtures
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-06-20 19:21:35 -0400
committerFrederic Guillot <fred@kanboard.net>2015-06-20 19:21:35 -0400
commit7b947ebdbd3b6bcd9de10ea4255bfa11fc88695c (patch)
treeec67439696608efb9e330c527c6a8f76da9d5c6d /tests/units/fixtures
parent22b26d0b4d68f0492275ec93eb4df1a975a8fc80 (diff)
Allow sync of Github comments without common username and add unit tests
Diffstat (limited to 'tests/units/fixtures')
-rw-r--r--tests/units/fixtures/github_comment_created.json187
-rw-r--r--tests/units/fixtures/github_issue_assigned.json196
-rw-r--r--tests/units/fixtures/github_issue_closed.json159
-rw-r--r--tests/units/fixtures/github_issue_labeled.json170
-rw-r--r--tests/units/fixtures/github_issue_opened.json159
-rw-r--r--tests/units/fixtures/github_issue_reopened.json159
-rw-r--r--tests/units/fixtures/github_issue_unassigned.json178
-rw-r--r--tests/units/fixtures/github_issue_unlabeled.json164
-rw-r--r--tests/units/fixtures/github_push.json165
9 files changed, 1537 insertions, 0 deletions
diff --git a/tests/units/fixtures/github_comment_created.json b/tests/units/fixtures/github_comment_created.json
new file mode 100644
index 00000000..bb601c7c
--- /dev/null
+++ b/tests/units/fixtures/github_comment_created.json
@@ -0,0 +1,187 @@
+{
+ "action": "created",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "open",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 1,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:45:51Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "comment": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments/113834672",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3#issuecomment-113834672",
+ "issue_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "id": 113834672,
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "created_at": "2015-06-20T22:45:51Z",
+ "updated_at": "2015-06-20T22:45:51Z",
+ "body": "test"
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_assigned.json b/tests/units/fixtures/github_issue_assigned.json
new file mode 100644
index 00000000..9125e976
--- /dev/null
+++ b/tests/units/fixtures/github_issue_assigned.json
@@ -0,0 +1,196 @@
+{
+ "action": "assigned",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "open",
+ "locked": false,
+ "assignee": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:12:15Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "assignee": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_closed.json b/tests/units/fixtures/github_issue_closed.json
new file mode 100644
index 00000000..5d2393eb
--- /dev/null
+++ b/tests/units/fixtures/github_issue_closed.json
@@ -0,0 +1,159 @@
+{
+ "action": "closed",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "closed",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:28:32Z",
+ "closed_at": "2015-06-20T22:28:32Z",
+ "body": "plop"
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 2,
+ "forks": 0,
+ "open_issues": 2,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_labeled.json b/tests/units/fixtures/github_issue_labeled.json
new file mode 100644
index 00000000..4576b04f
--- /dev/null
+++ b/tests/units/fixtures/github_issue_labeled.json
@@ -0,0 +1,170 @@
+{
+ "action": "labeled",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [
+ {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/labels/bug",
+ "name": "bug",
+ "color": "fc2929"
+ }
+ ],
+ "state": "open",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:37:49Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "label": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/labels/bug",
+ "name": "bug",
+ "color": "fc2929"
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_opened.json b/tests/units/fixtures/github_issue_opened.json
new file mode 100644
index 00000000..13f8d930
--- /dev/null
+++ b/tests/units/fixtures/github_issue_opened.json
@@ -0,0 +1,159 @@
+{
+ "action": "opened",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "Test Webhook",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "open",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T21:58:20Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_reopened.json b/tests/units/fixtures/github_issue_reopened.json
new file mode 100644
index 00000000..70f9e884
--- /dev/null
+++ b/tests/units/fixtures/github_issue_reopened.json
@@ -0,0 +1,159 @@
+{
+ "action": "reopened",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "open",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:33:35Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_unassigned.json b/tests/units/fixtures/github_issue_unassigned.json
new file mode 100644
index 00000000..0a578bab
--- /dev/null
+++ b/tests/units/fixtures/github_issue_unassigned.json
@@ -0,0 +1,178 @@
+{
+ "action": "unassigned",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "open",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:26:05Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "assignee": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_issue_unlabeled.json b/tests/units/fixtures/github_issue_unlabeled.json
new file mode 100644
index 00000000..47070a91
--- /dev/null
+++ b/tests/units/fixtures/github_issue_unlabeled.json
@@ -0,0 +1,164 @@
+{
+ "action": "unlabeled",
+ "issue": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/issues/3",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/labels{/name}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/comments",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/3/events",
+ "html_url": "https://github.com/kanboardapp/webhook/issues/3",
+ "id": 89823399,
+ "number": 3,
+ "title": "test with ngrok",
+ "user": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "labels": [],
+ "state": "open",
+ "locked": false,
+ "assignee": null,
+ "milestone": null,
+ "comments": 0,
+ "created_at": "2015-06-20T21:58:20Z",
+ "updated_at": "2015-06-20T22:43:48Z",
+ "closed_at": null,
+ "body": "plop"
+ },
+ "label": {
+ "url": "https://api.github.com/repos/kanboardapp/webhook/labels/bug",
+ "name": "bug",
+ "color": "fc2929"
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/kanboardapp",
+ "html_url": "https://github.com/kanboardapp",
+ "followers_url": "https://api.github.com/users/kanboardapp/followers",
+ "following_url": "https://api.github.com/users/kanboardapp/following{/other_user}",
+ "gists_url": "https://api.github.com/users/kanboardapp/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/kanboardapp/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/kanboardapp/subscriptions",
+ "organizations_url": "https://api.github.com/users/kanboardapp/orgs",
+ "repos_url": "https://api.github.com/users/kanboardapp/repos",
+ "events_url": "https://api.github.com/users/kanboardapp/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/kanboardapp/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://api.github.com/repos/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": "2014-10-25T20:10:38Z",
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": "2014-10-25T22:02:01Z",
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file
diff --git a/tests/units/fixtures/github_push.json b/tests/units/fixtures/github_push.json
new file mode 100644
index 00000000..5ae9b766
--- /dev/null
+++ b/tests/units/fixtures/github_push.json
@@ -0,0 +1,165 @@
+{
+ "ref": "refs/heads/master",
+ "before": "895598f1baf1ee5fb3f43ebc509aa86e263bde4b",
+ "after": "98dee3e49ee7aa66ffec1f761af93da5ffd711f6",
+ "created": false,
+ "deleted": false,
+ "forced": false,
+ "base_ref": null,
+ "compare": "https://github.com/kanboardapp/webhook/compare/895598f1baf1...98dee3e49ee7",
+ "commits": [
+ {
+ "id": "98dee3e49ee7aa66ffec1f761af93da5ffd711f6",
+ "distinct": true,
+ "message": "Update README to fix #1",
+ "timestamp": "2015-06-20T18:54:52-04:00",
+ "url": "https://github.com/kanboardapp/webhook/commit/98dee3e49ee7aa66ffec1f761af93da5ffd711f6",
+ "author": {
+ "name": "Frédéric Guillot",
+ "email": "fred@kanboard.net",
+ "username": "fguillot"
+ },
+ "committer": {
+ "name": "Frédéric Guillot",
+ "email": "fred@kanboard.net",
+ "username": "fguillot"
+ },
+ "added": [],
+ "removed": [],
+ "modified": [
+ "README.md"
+ ]
+ }
+ ],
+ "head_commit": {
+ "id": "98dee3e49ee7aa66ffec1f761af93da5ffd711f6",
+ "distinct": true,
+ "message": "Update README",
+ "timestamp": "2015-06-20T18:54:52-04:00",
+ "url": "https://github.com/kanboardapp/webhook/commit/98dee3e49ee7aa66ffec1f761af93da5ffd711f6",
+ "author": {
+ "name": "Frédéric Guillot",
+ "email": "fred@kanboard.net",
+ "username": "fguillot"
+ },
+ "committer": {
+ "name": "Frédéric Guillot",
+ "email": "fred@kanboard.net",
+ "username": "fguillot"
+ },
+ "added": [],
+ "removed": [],
+ "modified": [
+ "README.md"
+ ]
+ },
+ "repository": {
+ "id": 25744941,
+ "name": "webhook",
+ "full_name": "kanboardapp/webhook",
+ "owner": {
+ "name": "kanboardapp",
+ "email": null
+ },
+ "private": false,
+ "html_url": "https://github.com/kanboardapp/webhook",
+ "description": "",
+ "fork": false,
+ "url": "https://github.com/kanboardapp/webhook",
+ "forks_url": "https://api.github.com/repos/kanboardapp/webhook/forks",
+ "keys_url": "https://api.github.com/repos/kanboardapp/webhook/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/kanboardapp/webhook/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/kanboardapp/webhook/teams",
+ "hooks_url": "https://api.github.com/repos/kanboardapp/webhook/hooks",
+ "issue_events_url": "https://api.github.com/repos/kanboardapp/webhook/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/kanboardapp/webhook/events",
+ "assignees_url": "https://api.github.com/repos/kanboardapp/webhook/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/kanboardapp/webhook/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/kanboardapp/webhook/tags",
+ "blobs_url": "https://api.github.com/repos/kanboardapp/webhook/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/kanboardapp/webhook/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/kanboardapp/webhook/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/kanboardapp/webhook/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/kanboardapp/webhook/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/kanboardapp/webhook/languages",
+ "stargazers_url": "https://api.github.com/repos/kanboardapp/webhook/stargazers",
+ "contributors_url": "https://api.github.com/repos/kanboardapp/webhook/contributors",
+ "subscribers_url": "https://api.github.com/repos/kanboardapp/webhook/subscribers",
+ "subscription_url": "https://api.github.com/repos/kanboardapp/webhook/subscription",
+ "commits_url": "https://api.github.com/repos/kanboardapp/webhook/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/kanboardapp/webhook/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/kanboardapp/webhook/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/kanboardapp/webhook/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/kanboardapp/webhook/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/kanboardapp/webhook/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/kanboardapp/webhook/merges",
+ "archive_url": "https://api.github.com/repos/kanboardapp/webhook/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/kanboardapp/webhook/downloads",
+ "issues_url": "https://api.github.com/repos/kanboardapp/webhook/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/kanboardapp/webhook/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/kanboardapp/webhook/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/kanboardapp/webhook/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/kanboardapp/webhook/labels{/name}",
+ "releases_url": "https://api.github.com/repos/kanboardapp/webhook/releases{/id}",
+ "created_at": 1414267838,
+ "updated_at": "2014-10-25T20:10:38Z",
+ "pushed_at": 1434840893,
+ "git_url": "git://github.com/kanboardapp/webhook.git",
+ "ssh_url": "git@github.com:kanboardapp/webhook.git",
+ "clone_url": "https://github.com/kanboardapp/webhook.git",
+ "svn_url": "https://github.com/kanboardapp/webhook",
+ "homepage": null,
+ "size": 124,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "open_issues_count": 3,
+ "forks": 0,
+ "open_issues": 3,
+ "watchers": 0,
+ "default_branch": "master",
+ "stargazers": 0,
+ "master_branch": "master",
+ "organization": "kanboardapp"
+ },
+ "pusher": {
+ "name": "fguillot",
+ "email": "fred@kanboard.net"
+ },
+ "organization": {
+ "login": "kanboardapp",
+ "id": 8738076,
+ "url": "https://api.github.com/orgs/kanboardapp",
+ "repos_url": "https://api.github.com/orgs/kanboardapp/repos",
+ "events_url": "https://api.github.com/orgs/kanboardapp/events",
+ "members_url": "https://api.github.com/orgs/kanboardapp/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/kanboardapp/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8738076?v=3",
+ "description": null
+ },
+ "sender": {
+ "login": "fguillot",
+ "id": 323546,
+ "avatar_url": "https://avatars.githubusercontent.com/u/323546?v=3",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/fguillot",
+ "html_url": "https://github.com/fguillot",
+ "followers_url": "https://api.github.com/users/fguillot/followers",
+ "following_url": "https://api.github.com/users/fguillot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/fguillot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/fguillot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/fguillot/subscriptions",
+ "organizations_url": "https://api.github.com/users/fguillot/orgs",
+ "repos_url": "https://api.github.com/users/fguillot/repos",
+ "events_url": "https://api.github.com/users/fguillot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/fguillot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+} \ No newline at end of file