Event.py
1 ############################ Copyrights and license ############################ 2 # # 3 # Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> # 4 # Copyright 2012 Zearin <zearin@gonk.net> # 5 # Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> # 6 # Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net> # 7 # Copyright 2016 Jannis Gebauer <ja.geb@me.com> # 8 # Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> # 9 # Copyright 2018 sfdye <tsfdye@gmail.com> # 10 # # 11 # This file is part of PyGithub. # 12 # http://pygithub.readthedocs.io/ # 13 # # 14 # PyGithub is free software: you can redistribute it and/or modify it under # 15 # the terms of the GNU Lesser General Public License as published by the Free # 16 # Software Foundation, either version 3 of the License, or (at your option) # 17 # any later version. # 18 # # 19 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # 20 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # 21 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # 22 # details. # 23 # # 24 # You should have received a copy of the GNU Lesser General Public License # 25 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>. # 26 # # 27 ################################################################################ 28 29 from datetime import datetime, timezone 30 31 from . import Framework 32 33 34 class Event(Framework.TestCase): 35 def setUp(self): 36 super().setUp() 37 self.event = self.g.get_user("jacquev6").get_events()[0] 38 39 def testAttributes(self): 40 self.assertEqual(self.event.actor.login, "jacquev6") 41 self.assertEqual( 42 self.event.created_at, 43 datetime(2012, 5, 26, 10, 1, 39, tzinfo=timezone.utc), 44 ) 45 self.assertEqual(self.event.id, "1556114751") 46 self.assertEqual(self.event.org, None) 47 self.assertEqual( 48 self.event.payload, 49 { 50 "commits": [ 51 { 52 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7", 53 "sha": "5bb654d26dd014d36794acd1e6ecf3736f12aad7", 54 "message": "Implement the three authentication schemes", 55 "distinct": False, 56 "author": { 57 "name": "Vincent Jacques", 58 "email": "vincent@vincent-jacques.net", 59 }, 60 }, 61 { 62 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5", 63 "sha": "cb0313157bf904f2d364377d35d9397b269547a5", 64 "message": "Merge branch 'topic/Authentication' into develop", 65 "distinct": False, 66 "author": { 67 "name": "Vincent Jacques", 68 "email": "vincent@vincent-jacques.net", 69 }, 70 }, 71 { 72 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16", 73 "sha": "0cec0d25e606c023a62a4fc7cdc815309ebf6d16", 74 "message": "Publish version 0.7", 75 "distinct": False, 76 "author": { 77 "name": "Vincent Jacques", 78 "email": "vincent@vincent-jacques.net", 79 }, 80 }, 81 { 82 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7", 83 "sha": "ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7", 84 "message": "Merge branch 'develop'", 85 "distinct": False, 86 "author": { 87 "name": "Vincent Jacques", 88 "email": "vincent@vincent-jacques.net", 89 }, 90 }, 91 { 92 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/3a3bf4763192ee1234eb0557628133e06f3dfc76", 93 "sha": "3a3bf4763192ee1234eb0557628133e06f3dfc76", 94 "message": "Merge branch 'master' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\tgithub/Github.py\n\tgithub/Requester.py", 95 "distinct": True, 96 "author": { 97 "name": "Vincent Jacques", 98 "email": "vincent@vincent-jacques.net", 99 }, 100 }, 101 { 102 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/608f17794664f61693a3dc05e6056fea8fbef0ff", 103 "sha": "608f17794664f61693a3dc05e6056fea8fbef0ff", 104 "message": "Restore some form of Authorization header in replay data", 105 "distinct": True, 106 "author": { 107 "name": "Vincent Jacques", 108 "email": "vincent@vincent-jacques.net", 109 }, 110 }, 111 { 112 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/2c04b8adbd91d38eef4f0767337ab7a12b2f684b", 113 "sha": "2c04b8adbd91d38eef4f0767337ab7a12b2f684b", 114 "message": "Allow test without pre-set-up Github", 115 "distinct": True, 116 "author": { 117 "name": "Vincent Jacques", 118 "email": "vincent@vincent-jacques.net", 119 }, 120 }, 121 { 122 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/5b97389988b6fe43e15a079702f6f1671257fb28", 123 "sha": "5b97389988b6fe43e15a079702f6f1671257fb28", 124 "message": "Test three authentication schemes", 125 "distinct": True, 126 "author": { 127 "name": "Vincent Jacques", 128 "email": "vincent@vincent-jacques.net", 129 }, 130 }, 131 { 132 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/12747613c5ec00deccf296b8619ad507f7050475", 133 "sha": "12747613c5ec00deccf296b8619ad507f7050475", 134 "message": "Test Issue.getComments", 135 "distinct": True, 136 "author": { 137 "name": "Vincent Jacques", 138 "email": "vincent@vincent-jacques.net", 139 }, 140 }, 141 { 142 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/2982fa96c5ca75abe717d974d83f9135d664232e", 143 "sha": "2982fa96c5ca75abe717d974d83f9135d664232e", 144 "message": "Test the new Repository.full_name attribute", 145 "distinct": True, 146 "author": { 147 "name": "Vincent Jacques", 148 "email": "vincent@vincent-jacques.net", 149 }, 150 }, 151 { 152 "url": "https://api.github.com/repos/jacquev6/PyGithub/commits/619eae8d51c5988f0d2889fc767fa677438ba95d", 153 "sha": "619eae8d51c5988f0d2889fc767fa677438ba95d", 154 "message": "Improve coverage of AuthenticatedUser", 155 "distinct": True, 156 "author": { 157 "name": "Vincent Jacques", 158 "email": "vincent@vincent-jacques.net", 159 }, 160 }, 161 ], 162 "head": "619eae8d51c5988f0d2889fc767fa677438ba95d", 163 "push_id": 80673538, 164 "ref": "refs/heads/topic/RewriteWithGeneratedCode", 165 "size": 11, 166 }, 167 ) 168 self.assertTrue(self.event.public) 169 self.assertEqual(self.event.repo.name, "jacquev6/PyGithub") 170 self.assertEqual(self.event.type, "PushEvent") 171 self.assertEqual(repr(self.event), 'Event(type="PushEvent", id="1556114751")')