Mozdef / tests /mq /plugins /test_github_webhooks.py
ineso22's picture
Upload folder using huggingface_hub
7c89ed7 verified
from mq.plugins.github_webhooks import message
class TestGithubWebhooksFixup(object):
def setup(self):
self.plugin = message()
self.metadata = {
'index': 'events'
}
def verify_metadata(self, metadata):
assert metadata['index'] == 'events'
def test_defaults(self):
event = {
'tags': 'githubeventsqs',
'details': {},
}
result, metadata = self.plugin.onMessage(event, self.metadata)
assert result is None
def test_nomatch_syslog(self):
event = {
"category": "syslog",
"processid": "0",
"receivedtimestamp": "2017-09-26T00:22:24.210945+00:00",
"severity": "7",
"utctimestamp": "2017-09-26T00:22:23+00:00",
"timestamp": "2017-09-26T00:22:23+00:00",
"hostname": "syslog1.private.scl3.mozilla.com",
"mozdefhostname": "mozdef1.private.scl3.mozilla.com",
"summary": "Connection from 10.22.74.208 port 9071 on 10.22.74.45 nsm githubeventsqs port 22\n",
"eventsource": "systemslogs",
"details": {
"processid": "21233",
"Random": "2",
"sourceipv4address": "10.22.74.208",
"hostname": "hostname1.subdomain.domain.com",
"program": "githubeventsqs",
"sourceipaddress": "10.22.74.208"
}
}
result, metadata = self.plugin.onMessage(event, self.metadata)
assert result['category'] == 'syslog'
assert result['eventsource'] == 'systemslogs'
assert result == event
def test_nomatch_auditd(self):
event = {
"category": "execve",
"processid": "0",
"receivedtimestamp": "2017-09-26T00:36:27.463745+00:00",
"severity": "INFO",
"utctimestamp": "2017-09-26T00:36:27+00:00",
"tags": [
"audisp-json",
"2.1.1",
"audit"
],
"summary": "Execve: sh -c sudo githubeventsqs nsm /usr/lib64/nagios/plugins/custom/check_auditd.sh",
"processname": "githubeventsqs",
"details": {
"fsuid": "398",
"tty": "(none)",
"uid": "398",
"process": "/bin/bash",
"auditkey": "exec",
"pid": "10553",
"processname": "sh",
"session": "16467",
"fsgid": "398",
"sgid": "398",
"auditserial": "3834716",
"inode": "1835094",
"ouid": "0",
"ogid": "0",
"suid": "398",
"originaluid": "0",
"gid": "398",
"originaluser": "root",
"ppid": "10552",
"cwd": "/",
"parentprocess": "githubeventsqs",
"euid": "398",
"path": "/bin/sh",
"rdev": "00:00",
"dev": "08:03",
"egid": "398",
"command": "sh -c githubeventsqs /usr/lib64/nagios/plugins/custom/check_auditd.sh",
"mode": "0100755",
"user": "nagios"
}
}
result, metadata = self.plugin.onMessage(event, self.metadata)
assert result['category'] == 'execve'
assert 'eventsource' not in result
assert result == event
def verify_defaults(self, result):
assert result['category'] == 'github'
assert result['tags'] == ['github', 'webhook']
assert result['eventsource'] == 'githubeventsqs'
assert 'event' not in result['details']
assert 'source' in result
def verify_meta(self, message, result):
assert result['details']['request_id'] == message['request_id']
def verify_actor(self, message, result):
assert result['details']['id'] == message['body']['sender']['id']
assert result['details']['username'] == message['body']['sender']['login']
assert result['details']['sender_node_id'] == message['body']['sender']['node_id']
assert result['details']['sender_site_admin'] == message['body']['sender']['site_admin']
assert result['details']['sender_type'] == message['body']['sender']['type']
def verify_repo(self, message, result):
assert result['details']['repo_id'] == message['body']['repository']['id']
assert result['details']['repo_name'] == message['body']['repository']['name']
assert result['details']['repo_owner_id'] == message['body']['repository']['owner']['id']
assert result['details']['repo_owner_login'] == message['body']['repository']['owner']['login']
assert result['details']['repo_owner_node_id'] == message['body']['repository']['owner']['node_id']
assert result['details']['repo_owner_site_admin'] == message['body']['repository']['owner']['site_admin']
assert result['details']['repo_private'] == message['body']['repository']['private']
def verify_org(self, message, result):
assert result['details']['org_id'] == message['body']['organization']['id']
assert result['details']['org_login'] == message['body']['organization']['login']
assert result['details']['org_node_id'] == message['body']['organization']['node_id']
def test_push(self):
message = {
"body": {
"forced": "true",
"compare": "https://github.com/web-platform-tests/wpt/compare/f000a9569fcb...41d50efea43f",
"ref": "refs/heads/chromium-export-cl-1311534",
"base_ref": "null",
"before": "f000a9569fcb918a3c98fb93b5acd0218afa19ab",
"after": "41d50efea43fb365d2a2d13b3fc18b933b7c3a75",
"created": "false",
"deleted": "false",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": "25752892",
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": "3618133",
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"commits": [
{
"committer": {
"username": "chromium-wpt-export-bot",
"email": "blink-w3c-test-autoroller@chromium.org",
"name": "Chromium WPT Sync"
},
"added": [
"css/css-flexbox/percentage-heights-005.html"
],
"author": {
"username": "cbiesinger",
"email": "cbiesinger@chromium.org",
"name": "Christian Biesinger"
},
"distinct": "true",
"timestamp": "2018-10-31T18:58:04-07:00",
"modified": [],
"url": "https://github.com/web-platform-tests/wpt/commit/41d50efea43fb365d2a2d13b3fc18b933b7c3a75",
"tree_id": "4ed38f691f2be4d19d821fdd316508350d11b42c",
"message": "[layoutng] Fix setting of fixed_block_is_definite\n\nWhen a flex item has a definite specified height (e.g. height: 100px),\nthen percentages in children of the flex item should resolve even\nif the flexbox does not have an explicit height, ie. does not match\nthe condition in https://drafts.csswg.org/css-flexbox/#definite-sizes\n\nBug: 885185\n\nChange-Id: Iba226f30e1e02e3a11273fa45fcdf1cef897120c\nReviewed-on: https://chromium-review.googlesource.com/c/1311534\nCommit-Queue: Christian Biesinger <cbiesinger@chromium.org>\nReviewed-by: Emil A Eklund <eae@chromium.org>\nReviewed-by: Morten Stenshorne <mstensho@chromium.org>\nCr-Commit-Position: refs/heads/master@{#604483}",
"removed": [],
"id": "41d50efea43fb365d2a2d13b3fc18b933b7c3a75"
}
],
"pusher": {
"email": "blink-w3c-test-autoroller@chromium.org",
"name": "chromium-wpt-export-bot"
},
"head_commit": {
"committer": {
"username": "chromium-wpt-export-bot",
"email": "blink-w3c-test-autoroller@chromium.org",
"name": "Chromium WPT Sync"
},
"added": [
"css/css-flexbox/percentage-heights-005.html"
],
"author": {
"username": "cbiesinger",
"email": "cbiesinger@chromium.org",
"name": "Christian Biesinger"
},
"distinct": "true",
"timestamp": "2018-10-31T18:58:04-07:00",
"modified": [],
"url": "https://github.com/web-platform-tests/wpt/commit/41d50efea43fb365d2a2d13b3fc18b933b7c3a75",
"tree_id": "4ed38f691f2be4d19d821fdd316508350d11b42c",
"message": "[layoutng] Fix setting of fixed_block_is_definite\n\nWhen a flex item has a definite specified height (e.g. height: 100px),\nthen percentages in children of the flex item should resolve even\nif the flexbox does not have an explicit height, ie. does not match\nthe condition in https://drafts.csswg.org/css-flexbox/#definite-sizes\n\nBug: 885185\n\nChange-Id: Iba226f30e1e02e3a11273fa45fcdf1cef897120c\nReviewed-on: https://chromium-review.googlesource.com/c/1311534\nCommit-Queue: Christian Biesinger <cbiesinger@chromium.org>\nReviewed-by: Emil A Eklund <eae@chromium.org>\nReviewed-by: Morten Stenshorne <mstensho@chromium.org>\nCr-Commit-Position: refs/heads/master@{#604483}",
"removed": [],
"id": "41d50efea43fb365d2a2d13b3fc18b933b7c3a75"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "push",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'push'
assert result['details']['created'] == message['body']['created']
assert result['details']['deleted'] == message['body']['deleted']
assert result['details']['forced'] == message['body']['forced']
assert result['details']['commits'] == message['body']['commits']
assert result['details']['ref'] == message['body']['ref']
assert result['details']['email'] == message['body']['pusher']['email']
assert result['details']['commit_author'] == message['body']['head_commit']['author']['email']
assert result['details']['committer'] == message['body']['head_commit']['committer']['email']
assert result['details']['commit_id'] == message['body']['head_commit']['id']
assert result['details']['commit_msg'] == message['body']['head_commit']['message']
assert result['details']['commit_ts'] == message['body']['head_commit']['timestamp']
assert result['details']['commit_url'] == message['body']['head_commit']['url']
assert result['details']['repo_owner_name'] == message['body']['repository']['owner']['name']
assert result['summary'] == 'github: push: on repo: wpt in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_pullrequest(self):
message = {
"body": {
"action": "opened",
"number": "2",
"pull_request": {
"url": "https://api.github.com/repos/Codertocat/Hello-World/pulls/2",
"id": "279147437",
"node_id": "MDExOlB1bGxSZXF1ZXN0Mjc5MTQ3NDM3",
"html_url": "https://github.com/Codertocat/Hello-World/pull/2",
"diff_url": "https://github.com/Codertocat/Hello-World/pull/2.diff",
"patch_url": "https://github.com/Codertocat/Hello-World/pull/2.patch",
"issue_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/2",
"number": "2",
"state": "open",
"locked": "false",
"title": "Update the README with new information.",
"user": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"body": "This is a pretty simple change that we need to pull into master.",
"created_at": "2019-05-15T15:20:33Z",
"updated_at": "2019-05-15T15:20:33Z",
"closed_at": "null",
"merged_at": "null",
"merge_commit_sha": "null",
"assignee": "null",
"assignees": [],
"requested_reviewers": [],
"requested_teams": [],
"labels": [],
"milestone": "null",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls/2/commits",
"review_comments_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls/2/comments",
"review_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/2/comments",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/ec26c3e57ca3a959ca5aad62de7213c562f8c821",
"head": {
"label": "Codertocat:changes",
"ref": "changes",
"sha": "ec26c3e57ca3a959ca5aad62de7213c562f8c821",
"user": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"repo": {
"id": "186853002",
"node_id": "MDEwOlJlcG9zaXRvcnkxODY4NTMwMDI=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"private": "false",
"owner": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"html_url": "https://github.com/Codertocat/Hello-World",
"description": "null",
"fork": "false",
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2019-05-15T15:19:25Z",
"updated_at": "2019-05-15T15:19:27Z",
"pushed_at": "2019-05-15T15:20:32Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": "null",
"size": "0",
"stargazers_count": "0",
"watchers_count": "0",
"language": "null",
"has_issues": "true",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "true",
"forks_count": "0",
"mirror_url": "null",
"archived": "false",
"disabled": "false",
"open_issues_count": "2",
"license": "null",
"forks": "0",
"open_issues": "2",
"watchers": "0",
"default_branch": "master"
}
},
"base": {
"label": "Codertocat:master",
"ref": "master",
"sha": "f95f852bd8fca8fcc58a9a2d6c842781e32a215e",
"user": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"repo": {
"id": "186853002",
"node_id": "MDEwOlJlcG9zaXRvcnkxODY4NTMwMDI=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"private": "false",
"owner": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"html_url": "https://github.com/Codertocat/Hello-World",
"description": "null",
"fork": "false",
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2019-05-15T15:19:25Z",
"updated_at": "2019-05-15T15:19:27Z",
"pushed_at": "2019-05-15T15:20:32Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": "null",
"size": "0",
"stargazers_count": "0",
"watchers_count": "0",
"language": "null",
"has_issues": "true",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "true",
"forks_count": "0",
"mirror_url": "null",
"archived": "false",
"disabled": "false",
"open_issues_count": "2",
"license": "null",
"forks": "0",
"open_issues": "2",
"watchers": "0",
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/pulls/2"
},
"html": {
"href": "https://github.com/Codertocat/Hello-World/pull/2"
},
"issue": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/issues/2"
},
"comments": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/issues/2/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/pulls/2/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/pulls/2/commits"
},
"statuses": {
"href": "https://api.github.com/repos/Codertocat/Hello-World/statuses/ec26c3e57ca3a959ca5aad62de7213c562f8c821"
}
},
"author_association": "OWNER",
"draft": "false",
"merged": "false",
"mergeable": "null",
"rebaseable": "null",
"mergeable_state": "unknown",
"merged_by": "null",
"comments": "0",
"review_comments": "0",
"maintainer_can_modify": "false",
"commits": "1",
"additions": "1",
"deletions": "1",
"changed_files": "1"
},
"repository": {
"id": "186853002",
"node_id": "MDEwOlJlcG9zaXRvcnkxODY4NTMwMDI=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"private": "false",
"owner": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"html_url": "https://github.com/Codertocat/Hello-World",
"description": "null",
"fork": "false",
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2019-05-15T15:19:25Z",
"updated_at": "2019-05-15T15:19:27Z",
"pushed_at": "2019-05-15T15:20:32Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": "null",
"size": "0",
"stargazers_count": "0",
"watchers_count": "0",
"language": "null",
"has_issues": "true",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "true",
"forks_count": "0",
"mirror_url": "null",
"archived": "false",
"disabled": "false",
"open_issues_count": "2",
"license": "null",
"forks": "0",
"open_issues": "2",
"watchers": "0",
"default_branch": "master"
},
"sender": {
"login": "Codertocat",
"id": "21031067",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "pull_request",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
assert result['source'] == 'pull_request'
assert result['details']['action'] == message['body']['action']
assert result['summary'] == 'github: pull_request: opened on repo: Hello-World triggered by user: Codertocat'
def test_delete(self):
message = {
"body": {
"ref": "gecko/1499958",
"ref_type": "branch",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": "25752892",
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": "3618133",
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "delete",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'delete'
assert result['details']['ref'] == message['body']['ref']
assert result['details']['ref_type'] == message['body']['ref_type']
assert result['summary'] == 'github: delete: branch on repo: wpt in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_create(self):
message = {
"body": {
"ref": "gecko/1499958",
"ref_type": "branch",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": 25752892,
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": 3618133,
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "create",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'create'
assert result['details']['ref'] == message['body']['ref']
assert result['details']['ref_type'] == message['body']['ref_type']
assert result['summary'] == 'github: create: branch on repo: wpt in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_repository_vulnerability_alert(self):
message = {
"body": {
"action": "create",
"alert": {
"affected_package_name": "requests",
"external_reference": "https://nvd.nist.gov/vuln/detail/CVE-2018-18074",
"external_identifier": "CVE-2018-18074",
"affected_range": "<= 2.19.1",
"id": "65626688",
"fixed_in": "2.20.0",
"dismisser": {
"login": "octocat",
"id": "1",
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": "true",
},
"dismiss_reason": "I'm too lazy to fix this",
"dismissed_at": "2017-10-25T00:00:00+00:00",
},
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": "25752892",
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": "3618133",
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "repository_vulnerability_alert",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'repository_vulnerability_alert'
assert result['details']['action'] == message['body']['action']
assert result['details']['alert_package'] == message['body']['alert']['affected_package_name']
assert result['details']['alert_range'] == message['body']['alert']['affected_range']
assert result['details']['alert_extid'] == message['body']['alert']['external_identifier']
assert result['details']['alert_extref'] == message['body']['alert']['external_reference']
assert result['details']['alert_fixed'] == message['body']['alert']['fixed_in']
assert result['details']['alert_id'] == message['body']['alert']['id']
assert result['details']['dismiss_user'] == message['body']['alert']['dismisser']['login']
assert result['details']['dismiss_id'] == message['body']['alert']['dismisser']['id']
assert result['details']['dismiss_node_id'] == message['body']['alert']['dismisser']['node_id']
assert result['details']['dismiss_type'] == message['body']['alert']['dismisser']['type']
assert result['details']['dismiss_site_admin'] == message['body']['alert']['dismisser']['site_admin']
assert result['summary'] == 'github: repository_vulnerability_alert: create on repo: wpt package: requests in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_security_advisory(self):
message = {
"body": {
"action": "published",
"security_advisory": {
"ghsa_id": "GHSA-rf4j-j272-fj86",
"summary": "Moderate severity vulnerability that affects django",
"description": "django.contrib.auth.forms.AuthenticationForm in Django 2.0 before 2.0.2, and 1.11.8 and 1.11.9, allows remote attackers to obtain potentially sensitive information by leveraging data exposure from the confirm_login_allowed() method, as demonstrated by discovering whether a user account is inactive.",
"severity": "moderate",
"identifiers": [
{
"value": "GHSA-rf4j-j272-fj86",
"type": "GHSA"
},
{
"value": "CVE-2018-6188",
"type": "CVE"
}
],
"references": [
{
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-6188"
}
],
"published_at": "2018-10-03T21:13:54Z",
"updated_at": "2018-10-03T21:13:54Z",
"withdrawn_at": "null",
"vulnerabilities": [
{
"package": {
"ecosystem": "pip",
"name": "django"
},
"severity": "moderate",
"vulnerable_version_range": ">= 2.0.0, < 2.0.2",
"first_patched_version": {
"identifier": "2.0.2"
}
},
{
"package": {
"ecosystem": "pip",
"name": "django"
},
"severity": "moderate",
"vulnerable_version_range": ">= 1.11.8, < 1.11.10",
"first_patched_version": {
"identifier": "1.11.10"
}
}
]
},
},
"event": "security_advisory",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
assert result['source'] == 'security_advisory'
assert result['details']['action'] == message['body']['action']
assert result['details']['alert_description'] == message['body']['security_advisory']['description']
assert result['summary'] == 'github: security_advisory: published for: Moderate severity vulnerability that affects django'
def test_repository(self):
message = {
"body": {
"action": "deleted",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": 25752892,
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": 3618133,
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "repository",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'repository'
assert result['details']['action'] == message['body']['action']
assert result['summary'] == 'github: repository: deleted on repo: wpt in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_member(self):
message = {
"body": {
"member": {
"id": "60618",
"login": "emmairwin",
"node_id": "MDQ6VXNlcjYwNjE4",
"site_admin": "false",
},
"changes": {
"permission": {
"from": "write",
},
},
"action": "added",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": "25752892",
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": "3618133",
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "member",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'member'
assert result['details']['action'] == message['body']['action']
assert result['details']['member_id'] == message['body']['member']['id']
assert result['details']['member_login'] == message['body']['member']['login']
assert result['details']['member_node_id'] == message['body']['member']['node_id']
assert result['details']['member_site_admin'] == message['body']['member']['site_admin']
assert result['details']['changes_perm_from'] == message['body']['changes']['permission']['from']
assert result['summary'] == 'github: member: added on repo: wpt in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_team(self):
message = {
"body": {
"team": {
"id": 9060454,
"name": "asecretteam",
"login": "alamakota",
"node_id": "MYQ6VXK4fuwwNAye",
"permission": "pull",
"privacy": "secret",
"slug": "asecretteam",
},
"changes": {
"repository": {
"permissions": {
"from": {
"admin": "false",
"pull": "false",
"push": "false",
},
},
},
},
"action": "edited",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": "25752892",
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"permissions": {
"admin": "true",
"pull": "true",
"push": "true",
},
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": "37226233",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": 3618133,
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "team",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'team'
assert result['details']['action'] == message['body']['action']
assert result['details']['repo_perm_from_admin'] == message['body']['changes']['repository']['permissions']['from']['admin']
assert result['details']['repo_perm_from_pull'] == message['body']['changes']['repository']['permissions']['from']['pull']
assert result['details']['repo_perm_from_push'] == message['body']['changes']['repository']['permissions']['from']['push']
assert result['details']['repo_perm_admin'] == message['body']['repository']['permissions']['admin']
assert result['details']['repo_perm_pull'] == message['body']['repository']['permissions']['pull']
assert result['details']['repo_perm_push'] == message['body']['repository']['permissions']['push']
assert result['details']['team_id'] == message['body']['team']['id']
assert result['details']['team_name'] == message['body']['team']['name']
assert result['details']['team_node_id'] == message['body']['team']['node_id']
assert result['details']['team_permission'] == message['body']['team']['permission']
assert result['details']['team_privacy'] == message['body']['team']['privacy']
assert result['details']['team_slug'] == message['body']['team']['slug']
assert result['summary'] == 'github: team: edited on repo: wpt team: asecretteam in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_team_add(self):
message = {
"body": {
"team": {
"id": 9060454,
"name": "asecretteam",
"login": "alamakota",
"node_id": "MYQ6VXK4fuwwNAye",
"permission": "pull",
"privacy": "secret",
"slug": "asecretteam",
},
"changes": {
"repository": {
"permissions": {
"from": {
"admin": "false",
"pull": "false",
"push": "false",
},
},
},
},
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": 25752892,
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"permissions": {
"admin": "true",
"pull": "true",
"push": "true",
},
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": 3618133,
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "team_add",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'team_add'
assert result['details']['repo_perm_from_admin'] == message['body']['changes']['repository']['permissions']['from']['admin']
assert result['details']['repo_perm_from_pull'] == message['body']['changes']['repository']['permissions']['from']['pull']
assert result['details']['repo_perm_from_push'] == message['body']['changes']['repository']['permissions']['from']['push']
assert result['details']['repo_perm_admin'] == message['body']['repository']['permissions']['admin']
assert result['details']['repo_perm_pull'] == message['body']['repository']['permissions']['pull']
assert result['details']['repo_perm_push'] == message['body']['repository']['permissions']['push']
assert result['details']['team_id'] == message['body']['team']['id']
assert result['details']['team_name'] == message['body']['team']['name']
assert result['details']['team_node_id'] == message['body']['team']['node_id']
assert result['details']['team_permission'] == message['body']['team']['permission']
assert result['details']['team_privacy'] == message['body']['team']['privacy']
assert result['details']['team_slug'] == message['body']['team']['slug']
assert result['summary'] == 'github: team_add: on repo: wpt team: asecretteam in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_organization(self):
message = {
"body": {
"team": {
"id": 9060454,
"name": "asecretteam",
"login": "alamakota",
"node_id": "MYQ6VXK4fuwwNAye",
"permission": "pull",
"privacy": "secret",
"slug": "asecretteam",
},
"membership": {
"user": {
"id": 893282,
"login": "alamakota",
"node_id": "MDQ6VXNlcjUwMTkyMzQ=",
"site_admin": "false",
"type": "User",
},
"role": "member",
"state": "pending",
},
"action": "member_added",
"sender": {
"following_url": "https://api.github.com/users/chromium-wpt-export-bot/following{/other_user}",
"events_url": "https://api.github.com/users/chromium-wpt-export-bot/events{/privacy}",
"organizations_url": "https://api.github.com/users/chromium-wpt-export-bot/orgs",
"url": "https://api.github.com/users/chromium-wpt-export-bot",
"gists_url": "https://api.github.com/users/chromium-wpt-export-bot/gists{/gist_id}",
"html_url": "https://github.com/chromium-wpt-export-bot",
"subscriptions_url": "https://api.github.com/users/chromium-wpt-export-bot/subscriptions",
"avatar_url": "https://avatars1.githubusercontent.com/u/25752892?v=4",
"repos_url": "https://api.github.com/users/chromium-wpt-export-bot/repos",
"followers_url": "https://api.github.com/users/chromium-wpt-export-bot/followers",
"received_events_url": "https://api.github.com/users/chromium-wpt-export-bot/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/chromium-wpt-export-bot/starred{/owner}{/repo}",
"site_admin": "false",
"login": "chromium-wpt-export-bot",
"type": "User",
"id": 25752892,
"node_id": "MDQ6VXNlcjI1NzUyODky"
},
"repository": {
"permissions": {
"admin": "true",
"pull": "true",
"push": "true",
},
"issues_url": "https://api.github.com/repos/web-platform-tests/wpt/issues{/number}",
"deployments_url": "https://api.github.com/repos/web-platform-tests/wpt/deployments",
"has_wiki": "true",
"forks_url": "https://api.github.com/repos/web-platform-tests/wpt/forks",
"mirror_url": "null",
"subscription_url": "https://api.github.com/repos/web-platform-tests/wpt/subscription",
"merges_url": "https://api.github.com/repos/web-platform-tests/wpt/merges",
"collaborators_url": "https://api.github.com/repos/web-platform-tests/wpt/collaborators{/collaborator}",
"updated_at": "2018-11-01T00:51:49Z",
"svn_url": "https://github.com/web-platform-tests/wpt",
"pulls_url": "https://api.github.com/repos/web-platform-tests/wpt/pulls{/number}",
"owner": {
"following_url": "https://api.github.com/users/web-platform-tests/following{/other_user}",
"events_url": "https://api.github.com/users/web-platform-tests/events{/privacy}",
"name": "web-platform-tests",
"organizations_url": "https://api.github.com/users/web-platform-tests/orgs",
"url": "https://api.github.com/users/web-platform-tests",
"gists_url": "https://api.github.com/users/web-platform-tests/gists{/gist_id}",
"subscriptions_url": "https://api.github.com/users/web-platform-tests/subscriptions",
"html_url": "https://github.com/web-platform-tests",
"email": "",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/users/web-platform-tests/repos",
"followers_url": "https://api.github.com/users/web-platform-tests/followers",
"received_events_url": "https://api.github.com/users/web-platform-tests/received_events",
"gravatar_id": "",
"starred_url": "https://api.github.com/users/web-platform-tests/starred{/owner}{/repo}",
"site_admin": "false",
"login": "web-platform-tests",
"type": "Organization",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz"
},
"full_name": "web-platform-tests/wpt",
"issue_comment_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/web-platform-tests/wpt/contents/{+path}",
"id": 3618133,
"keys_url": "https://api.github.com/repos/web-platform-tests/wpt/keys{/key_id}",
"size": "305511",
"tags_url": "https://api.github.com/repos/web-platform-tests/wpt/tags",
"archived": "false",
"has_downloads": "true",
"downloads_url": "https://api.github.com/repos/web-platform-tests/wpt/downloads",
"assignees_url": "https://api.github.com/repos/web-platform-tests/wpt/assignees{/user}",
"statuses_url": "https://api.github.com/repos/web-platform-tests/wpt/statuses/{sha}",
"git_refs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/refs{/sha}",
"has_projects": "true",
"clone_url": "https://github.com/web-platform-tests/wpt.git",
"watchers_count": "1845",
"git_tags_url": "https://api.github.com/repos/web-platform-tests/wpt/git/tags{/sha}",
"labels_url": "https://api.github.com/repos/web-platform-tests/wpt/labels{/name}",
"organization": "web-platform-tests",
"stargazers_count": "1845",
"homepage": "http://irc.w3.org/?channels=testing",
"open_issues": "1328",
"fork": "false",
"milestones_url": "https://api.github.com/repos/web-platform-tests/wpt/milestones{/number}",
"commits_url": "https://api.github.com/repos/web-platform-tests/wpt/commits{/sha}",
"releases_url": "https://api.github.com/repos/web-platform-tests/wpt/releases{/id}",
"issue_events_url": "https://api.github.com/repos/web-platform-tests/wpt/issues/events{/number}",
"archive_url": "https://api.github.com/repos/web-platform-tests/wpt/{archive_format}{/ref}",
"has_pages": "true",
"events_url": "https://api.github.com/repos/web-platform-tests/wpt/events",
"contributors_url": "https://api.github.com/repos/web-platform-tests/wpt/contributors",
"html_url": "https://github.com/web-platform-tests/wpt",
"compare_url": "https://api.github.com/repos/web-platform-tests/wpt/compare/{base}...{head}",
"language": "HTML",
"watchers": "1845",
"private": "false",
"forks_count": "1523",
"notifications_url": "https://api.github.com/repos/web-platform-tests/wpt/notifications{?since,all,participating}",
"has_issues": "true",
"ssh_url": "git@github.com:web-platform-tests/wpt.git",
"blobs_url": "https://api.github.com/repos/web-platform-tests/wpt/git/blobs{/sha}",
"master_branch": "master",
"forks": "1523",
"hooks_url": "https://api.github.com/repos/web-platform-tests/wpt/hooks",
"open_issues_count": "1317",
"comments_url": "https://api.github.com/repos/web-platform-tests/wpt/comments{/number}",
"name": "wpt",
"license": {
"spdx_id": "NOASSERTION",
"url": "null",
"node_id": "MDc6TGljZW5zZTA=",
"name": "Other",
"key": "other"
},
"url": "https://github.com/web-platform-tests/wpt",
"stargazers": "1845",
"created_at": "1330865891",
"pushed_at": "1541037488",
"branches_url": "https://api.github.com/repos/web-platform-tests/wpt/branches{/branch}",
"node_id": "MDEwOlJlcG9zaXRvcnkzNjE4MTMz",
"default_branch": "master",
"teams_url": "https://api.github.com/repos/web-platform-tests/wpt/teams",
"trees_url": "https://api.github.com/repos/web-platform-tests/wpt/git/trees{/sha}",
"languages_url": "https://api.github.com/repos/web-platform-tests/wpt/languages",
"git_commits_url": "https://api.github.com/repos/web-platform-tests/wpt/git/commits{/sha}",
"subscribers_url": "https://api.github.com/repos/web-platform-tests/wpt/subscribers",
"stargazers_url": "https://api.github.com/repos/web-platform-tests/wpt/stargazers",
"git_url": "git://github.com/web-platform-tests/wpt.git"
},
"organization": {
"issues_url": "https://api.github.com/orgs/web-platform-tests/issues",
"members_url": "https://api.github.com/orgs/web-platform-tests/members{/member}",
"description": "",
"public_members_url": "https://api.github.com/orgs/web-platform-tests/public_members{/member}",
"url": "https://api.github.com/orgs/web-platform-tests",
"events_url": "https://api.github.com/orgs/web-platform-tests/events",
"avatar_url": "https://avatars0.githubusercontent.com/u/37226233?v=4",
"repos_url": "https://api.github.com/orgs/web-platform-tests/repos",
"login": "web-platform-tests",
"id": 37226233,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM3MjI2MjMz",
"hooks_url": "https://api.github.com/orgs/web-platform-tests/hooks"
},
},
"event": "organization",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
self.verify_org(message, result)
assert result['source'] == 'organization'
assert result['details']['action'] == message['body']['action']
assert result['details']['team_id'] == message['body']['team']['id']
assert result['details']['team_name'] == message['body']['team']['name']
assert result['details']['team_node_id'] == message['body']['team']['node_id']
assert result['details']['team_permission'] == message['body']['team']['permission']
assert result['details']['team_privacy'] == message['body']['team']['privacy']
assert result['details']['team_slug'] == message['body']['team']['slug']
assert result['details']['membership_type'] == message['body']['membership']['user']['type']
assert result['details']['membership_admin'] == message['body']['membership']['user']['site_admin']
assert result['details']['membership_node_id'] == message['body']['membership']['user']['node_id']
assert result['details']['membership_login'] == message['body']['membership']['user']['login']
assert result['details']['membership_id'] == message['body']['membership']['user']['id']
assert result['details']['membership_state'] == message['body']['membership']['state']
assert result['details']['membership_role'] == message['body']['membership']['role']
assert result['summary'] == 'github: organization: member_added on repo: wpt team: asecretteam in org: web-platform-tests triggered by user: chromium-wpt-export-bot'
def test_membership(self):
message = {
"body": {
"action": "removed",
"scope": "team",
"team": {
"name": "github",
"id": 3253328,
"node_id": "MDQ6VGVhbTMyNTMzMjg=",
"slug": "github",
"description": "Open-source team",
"privacy": "secret",
"url": "https://api.github.com/teams/3253328",
"html_url": "https://github.com/orgs/Octocoders/teams/github",
"members_url": "https://api.github.com/teams/3253328/members{/member}",
"repositories_url": "https://api.github.com/teams/3253328/repos",
"permission": "pull"
},
"repository": {
"id": 186853261,
"node_id": "MDEwOlJlcG9zaXRvcnkxODY4NTMyNjE=",
"name": "Hello-World",
"full_name": "Octocoders/Hello-World",
"private": "false",
"owner": {
"login": "Octocoders",
"id": 38302899,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"avatar_url": "https://avatars1.githubusercontent.com/u/38302899?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Octocoders",
"html_url": "https://github.com/Octocoders",
"followers_url": "https://api.github.com/users/Octocoders/followers",
"following_url": "https://api.github.com/users/Octocoders/following{/other_user}",
"gists_url": "https://api.github.com/users/Octocoders/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Octocoders/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Octocoders/subscriptions",
"organizations_url": "https://api.github.com/users/Octocoders/orgs",
"repos_url": "https://api.github.com/users/Octocoders/repos",
"events_url": "https://api.github.com/users/Octocoders/events{/privacy}",
"received_events_url": "https://api.github.com/users/Octocoders/received_events",
"type": "Organization",
"site_admin": "false"
},
"html_url": "https://github.com/Octocoders/Hello-World",
"description": "null",
"fork": "true",
"url": "https://api.github.com/repos/Octocoders/Hello-World",
"forks_url": "https://api.github.com/repos/Octocoders/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Octocoders/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Octocoders/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Octocoders/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Octocoders/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Octocoders/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Octocoders/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Octocoders/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Octocoders/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Octocoders/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Octocoders/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Octocoders/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Octocoders/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Octocoders/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Octocoders/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Octocoders/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Octocoders/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Octocoders/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Octocoders/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Octocoders/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Octocoders/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Octocoders/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Octocoders/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Octocoders/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Octocoders/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Octocoders/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Octocoders/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Octocoders/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Octocoders/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Octocoders/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Octocoders/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Octocoders/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Octocoders/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Octocoders/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Octocoders/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Octocoders/Hello-World/deployments",
"created_at": "2019-05-15T15:20:42Z",
"updated_at": "2019-05-15T15:20:45Z",
"pushed_at": "2019-05-15T15:20:33Z",
"git_url": "git://github.com/Octocoders/Hello-World.git",
"ssh_url": "git@github.com:Octocoders/Hello-World.git",
"clone_url": "https://github.com/Octocoders/Hello-World.git",
"svn_url": "https://github.com/Octocoders/Hello-World",
"homepage": "null",
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": "Ruby",
"has_issues": "false",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "false",
"forks_count": 0,
"mirror_url": "null",
"archived": "false",
"disabled": "false",
"open_issues_count": 0,
"license": "null",
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "Octocoders",
"id": 38302899,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"url": "https://api.github.com/orgs/Octocoders",
"repos_url": "https://api.github.com/orgs/Octocoders/repos",
"events_url": "https://api.github.com/orgs/Octocoders/events",
"hooks_url": "https://api.github.com/orgs/Octocoders/hooks",
"issues_url": "https://api.github.com/orgs/Octocoders/issues",
"members_url": "https://api.github.com/orgs/Octocoders/members{/member}",
"public_members_url": "https://api.github.com/orgs/Octocoders/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/38302899?v=4",
"description": ""
},
"sender": {
"login": "Octocoders",
"id": 38302899,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"avatar_url": "https://avatars1.githubusercontent.com/u/38302899?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Octocoders",
"html_url": "https://github.com/Octocoders",
"followers_url": "https://api.github.com/users/Octocoders/followers",
"following_url": "https://api.github.com/users/Octocoders/following{/other_user}",
"gists_url": "https://api.github.com/users/Octocoders/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Octocoders/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Octocoders/subscriptions",
"organizations_url": "https://api.github.com/users/Octocoders/orgs",
"repos_url": "https://api.github.com/users/Octocoders/repos",
"events_url": "https://api.github.com/users/Octocoders/events{/privacy}",
"received_events_url": "https://api.github.com/users/Octocoders/received_events",
"type": "Organization",
"site_admin": "false"
},
},
"event": "membership",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd"
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_org(message, result)
assert result['source'] == 'membership'
assert result['details']['team_name'] == message['body']['team']['name']
assert result['details']['org_login'] == message['body']['organization']['login']
assert result['summary'] == 'github: membership: removed team: github in org: Octocoders triggered by user: Octocoders'
def test_public(self):
message = {
"body": {
"repository": {
"id": 135493233,
"node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"owner": {
"name": "ACrazyCat",
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"private": "false",
"html_url": "https://github.com/Codertocat/Hello-World",
"description": "null",
"fork": "false",
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2018-05-30T20:18:04Z",
"updated_at": "2018-05-30T20:18:49Z",
"pushed_at": "2018-05-30T20:18:48Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": "null",
"size": "0",
"stargazers_count": "0",
"watchers_count": "0",
"language": "null",
"has_issues": "true",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "true",
"forks_count": "0",
"mirror_url": "null",
"archived": "false",
"open_issues_count": "2",
"license": "null",
"forks": "0",
"open_issues": "2",
"watchers": "0",
"default_branch": "master"
},
"sender": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "public",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_repo(message, result)
assert result['source'] == 'public'
assert result['summary'] == 'github : change from private to public on repo: Hello-World triggered by user: Codertocat'
def test_repository_import(self):
message = {
"body": {
"status": "success",
"repository": {
"id": 135493233,
"node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"owner": {
"name": "ASuperCat",
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"private": "false",
"html_url": "https://github.com/Codertocat/Hello-World",
"description": "null",
"fork": "false",
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2018-05-30T20:18:04Z",
"updated_at": "2018-05-30T20:18:49Z",
"pushed_at": "2018-05-30T20:18:48Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": "null",
"size": "0",
"stargazers_count": "0",
"watchers_count": "0",
"language": "null",
"has_issues": "true",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "true",
"forks_count": "0",
"mirror_url": "null",
"archived": "false",
"open_issues_count": "2",
"license": "null",
"forks": "0",
"open_issues": "2",
"watchers": "0",
"default_branch": "master"
},
"organization": {
"login": "Octocoders",
"id": 38302899,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"url": "https://api.github.com/orgs/Octocoders",
"repos_url": "https://api.github.com/orgs/Octocoders/repos",
"events_url": "https://api.github.com/orgs/Octocoders/events",
"hooks_url": "https://api.github.com/orgs/Octocoders/hooks",
"issues_url": "https://api.github.com/orgs/Octocoders/issues",
"members_url": "https://api.github.com/orgs/Octocoders/members{/member}",
"public_members_url": "https://api.github.com/orgs/Octocoders/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/38302899?v=4",
"description": ""
},
"sender": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "repository_import",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_org(message, result)
self.verify_repo(message, result)
assert result['source'] == 'repository_import'
assert result['summary'] == "github: repository_import: success on repo: Hello-World in org: Octocoders triggered by user: Codertocat"
def test_release(self):
message = {
"body": {
"action": "published",
"release": {
"url": "https://api.github.com/repos/Codertocat/Hello-World/releases/11248810",
"assets_url": "https://api.github.com/repos/Codertocat/Hello-World/releases/11248810/assets",
"upload_url": "https://uploads.github.com/repos/Codertocat/Hello-World/releases/11248810/assets{?name,label}",
"html_url": "https://github.com/Codertocat/Hello-World/releases/tag/0.0.1",
"id": 11248810,
"node_id": "MDc6UmVsZWFzZTExMjQ4ODEw",
"tag_name": "0.0.1",
"target_commitish": "master",
"name": "null",
"draft": "false",
"author": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"prerelease": "false",
"created_at": "2018-05-30T20:18:05Z",
"published_at": "2018-05-30T20:18:44Z",
"assets": [
],
"tarball_url": "https://api.github.com/repos/Codertocat/Hello-World/tarball/0.0.1",
"zipball_url": "https://api.github.com/repos/Codertocat/Hello-World/zipball/0.0.1",
"body": "null"
},
"repository": {
"id": 135493233,
"node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"owner": {
"name": "ASuperCat",
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
"private": "false",
"html_url": "https://github.com/Codertocat/Hello-World",
"description": "null",
"fork": "false",
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2018-05-30T20:18:04Z",
"updated_at": "2018-05-30T20:18:49Z",
"pushed_at": "2018-05-30T20:18:48Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": "null",
"size": "0",
"stargazers_count": "0",
"watchers_count": "0",
"language": "null",
"has_issues": "true",
"has_projects": "true",
"has_downloads": "true",
"has_wiki": "true",
"has_pages": "true",
"forks_count": "0",
"mirror_url": "null",
"archived": "false",
"open_issues_count": "2",
"license": "null",
"forks": "0",
"open_issues": "2",
"watchers": "0",
"default_branch": "master"
},
"organization": {
"login": "Octocoders",
"id": 38302899,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"url": "https://api.github.com/orgs/Octocoders",
"repos_url": "https://api.github.com/orgs/Octocoders/repos",
"events_url": "https://api.github.com/orgs/Octocoders/events",
"hooks_url": "https://api.github.com/orgs/Octocoders/hooks",
"issues_url": "https://api.github.com/orgs/Octocoders/issues",
"members_url": "https://api.github.com/orgs/Octocoders/members{/member}",
"public_members_url": "https://api.github.com/orgs/Octocoders/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/38302899?v=4",
"description": ""
},
"sender": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "release",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
self.verify_repo(message, result)
assert result['source'] == 'release'
assert result['details']['release_author_login'] == message['body']['release']['author']['login']
assert result['details']['release_author_id'] == message['body']['release']['author']['id']
assert result['details']['release_author_node_id'] == message['body']['release']['author']['node_id']
assert result['details']['release_author_type'] == message['body']['release']['author']['type']
assert result['details']['release_author_site_admin'] == message['body']['release']['author']['site_admin']
assert result['summary'] == 'github: release: published on repo: Hello-World triggered by user: Codertocat'
def test_org_block(self):
message = {
"body": {
"action": "blocked",
"blocked_user": {
"login": "hacktocat",
"id": 39652351,
"node_id": "MDQ6VXNlcjM5NjUyMzUx",
"avatar_url": "https://avatars2.githubusercontent.com/u/39652351?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/hacktocat",
"html_url": "https://github.com/hacktocat",
"followers_url": "https://api.github.com/users/hacktocat/followers",
"following_url": "https://api.github.com/users/hacktocat/following{/other_user}",
"gists_url": "https://api.github.com/users/hacktocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/hacktocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/hacktocat/subscriptions",
"organizations_url": "https://api.github.com/users/hacktocat/orgs",
"repos_url": "https://api.github.com/users/hacktocat/repos",
"events_url": "https://api.github.com/users/hacktocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/hacktocat/received_events",
"type": "User",
"site_admin": "false"
},
"organization": {
"login": "Octocoders",
"id": 38302899,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"url": "https://api.github.com/orgs/Octocoders",
"repos_url": "https://api.github.com/orgs/Octocoders/repos",
"events_url": "https://api.github.com/orgs/Octocoders/events",
"hooks_url": "https://api.github.com/orgs/Octocoders/hooks",
"issues_url": "https://api.github.com/orgs/Octocoders/issues",
"members_url": "https://api.github.com/orgs/Octocoders/members{/member}",
"public_members_url": "https://api.github.com/orgs/Octocoders/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/38302899?v=4",
"description": ""
},
"sender": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "org_block",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
assert result['source'] == 'org_block'
assert result['details']['blocked_user_login'] == message['body']['blocked_user']['login']
assert result['details']['blocked_user_id'] == message['body']['blocked_user']['id']
assert result['details']['blocked_user_node_id'] == message['body']['blocked_user']['node_id']
assert result['summary'] == 'github: org_block: blocked user: hacktocat in org: Octocoders triggered by user: Codertocat'
def test_installation(self):
message = {
"body": {
"action": "deleted",
"installation": {
"id": 2,
"account": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": "false"
},
"repository_selection": "selected",
"access_tokens_url": "https://api.github.com/installations/2/access_tokens",
"repositories_url": "https://api.github.com/installation/repositories",
"html_url": "https://github.com/settings/installations/2",
"app_id": "5725",
"target_id": "3880403",
"target_type": "User",
"permissions": {
"metadata": "read",
"contents": "read",
"issues": "write"
},
"events": [
"push",
"pull_request"
],
"created_at": "1525109898",
"updated_at": "1525109899",
"single_file_name": "config.yml"
},
"repositories": [
{
"id": "1296269",
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"private": "false"
}
],
"sender": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "installation",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
assert result['source'] == 'installation'
assert result['details']['action'] == message['body']['action']
assert result['details']['install_id'] == message['body']['installation']['account']['id']
assert result['details']['install_account_login'] == message['body']['installation']['account']['login']
assert result['details']['install_account_node_id'] == message['body']['installation']['account']['node_id']
assert result['details']['install_account_type'] == message['body']['installation']['account']['type']
assert result['details']['install_account_site_admin'] == message['body']['installation']['account']['site_admin']
assert result['summary'] == 'github app: installation deleted triggered by user: octocat'
def test_installation_perms_accepted(self):
message = {
"body": {
"action": "new_permissions_accepted",
"installation": {
"id": "2",
"account": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": "false"
},
"repository_selection": "selected",
"access_tokens_url": "https://api.github.com/installations/2/access_tokens",
"repositories_url": "https://api.github.com/installation/repositories",
"html_url": "https://github.com/settings/installations/2",
"app_id": "5725",
"target_id": "3880403",
"target_type": "User",
"permissions": {
"metadata": "read",
"contents": "read",
"issues": "write"
},
"events": [
"push",
"pull_request"
],
"created_at": "1525109898",
"updated_at": "1525109899",
"single_file_name": "config.yml"
},
"repositories": [
{
"id": "1296269",
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"private": "false"
}
],
"sender": {
"login": "octocat",
"id": "1",
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": "false"
},
},
"event": "installation",
"request_id": "94e70998-dd79-11e8-9ba0-a8635445a8cd",
}
event = {
'tags': 'githubeventsqs'
}
event['details'] = message
result, metadata = self.plugin.onMessage(event, self.metadata)
self.verify_defaults(result)
self.verify_metadata(metadata)
self.verify_meta(message, result)
self.verify_actor(message, result)
assert result['source'] == 'installation'
assert result['details']['action'] == message['body']['action']
assert result['details']['install_id'] == message['body']['installation']['account']['id']
assert result['details']['install_account_login'] == message['body']['installation']['account']['login']
assert result['details']['install_account_node_id'] == message['body']['installation']['account']['node_id']
assert result['details']['install_account_type'] == message['body']['installation']['account']['type']
assert result['details']['install_account_site_admin'] == message['body']['installation']['account']['site_admin']
assert result['summary'] == 'github app: installation new_permissions_accepted triggered by user: octocat'