8000 Make CheckApp refreshable · pabelanger/github3.py@cc6d670 · GitHub
[go: up one dir, main page]

8000 Skip to content

Commit cc6d670

Browse files
committed
Make CheckApp refreshable
1 parent 7ae1da6 commit cc6d670

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

src/github3/checks.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,24 @@ class CheckApp(models.GitHubCore):
103103
representing the app owner
104104
"""
105105

106+
CUSTOM_HEADERS = {
107+
"Accept": "application/vnd.github.machine-man-preview+json"
108+
}
109+
106110
def _update_attributes(self, app):
107111
self.description = app["description"]
108112
self.external_url = app["external_url"]
109113
self.html_url = app["html_url"]
110114
self.id = app["id"]
111115
self.name = app["name"]
112116
self.owner = app["owner"]
117+
_, self.slug = app["html_url"].rsplit("/", 1)
118+
119+
@property
120+
def url(self):
121+
return self._build_url("apps", self.slug)
122+
123+
_api = url
113124

114125
def _repr(self):
115126
return '<App ["{}" by {}]>'.format(
@@ -126,7 +137,8 @@ def to_app(self):
126137
"""
127138
from . import apps
128139

129-
json = self._json(self._get(self.url), 200)
140+
headers = getattr(self, "CUSTOM_HEADERS", None)
141+
json = self._json(self._get(self.url, headers=headers), 200)
130142
return self._instance_or_null(apps.App, json)
131143

132144
refresh = to_app
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"http_interactions": [{"request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"User-Agent": ["github3.py/1.2.0"], "Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.machine-man-preview+json"], "Connection": ["keep-alive"], "Accept-Charset": ["utf-8"], "Content-Type": ["application/json"], "Authorization": ["Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NDc0NDkyNjIsImlhdCI6MTU0NzQ0OTIzMiwiaXNzIjoyMjk4NX0.rY4nmxOKi2-OscR_7yMtIFv8hLPnt40HESiQL3UHdaBV064O72HDp0sPlisSSgjQkafRz54cch232err-WtDTs0-H7G8_-XJmP-vXKSILBr69fpq1KyyufyVmw5D4sOPiBxEo4F5skYXKCzdRUqsNa05yXtPnefb5R2VCgBTt42xhO2EtzSmweoqjaCkWczKeqZ8BaFIPePQ6t8ubiCcQxVXFrMRMItek_kB8gwK3xgXvEw1-N69A1mnmNXBzsReVoil70qvR1lzgYI0RmNXDFRMPo9x6QooUrr9D7UUqxN57Xh9lYOxSfamthqDeLMsGCZ4DbGyNJsu3AgWxDMUpg"], "Content-Length": ["0"]}, "method": "POST", "uri": "https://api.github.com/app/installations/554835/access_tokens"}, "response": {"body": {"encoding": "utf-8", "string": "{\"token\":\"<INSTALLATION_TOKEN>\",\"expires_at\":\"2019-01-14T08:00:32Z\"}"}, "headers": {"Server": ["GitHub.com"], "Date": ["Mon, 14 Jan 2019 07:00:32 GMT"], "Content-Type": ["application/json; charset=utf-8"], "Content-Length": ["91"], "Status": ["201 Created"], "Cache-Control": ["public, max-age=60, s-maxage=60"], "Vary": ["Accept"], "ETag": ["\"b1b3d32327b1ce833fb936d99d37472a\""], "X-GitHub-Media-Type": ["github.machine-man-preview; format=json"], "X-RateLimit-Limit": ["5000"], "X-RateLimit-Remaining": ["4993"], "X-RateLimit-Reset": ["1547450088"], "Access-Control-Expose-Headers": ["ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type"], "Access-Control-Allow-Origin": ["*"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "X-Frame-Options": ["deny"], "X-Content-Type-Options": ["nosniff"], "X-XSS-Protection": ["1; mode=block"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Security-Policy": ["default-src 'none'"], "X-GitHub-Request-Id": ["A3F0:024F:9EB453:168AF50:5C3C3390"]}, "status": {"code": 201, "message": "Created"}, "url": "https://api.github.com/app/installations/554835/access_tokens"}, "recorded_at": "2019-01-14T07:00:32"}, {"request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"User-Agent": ["github3.py/1.2.0"], "Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.v3.full+json"], "Connection": ["keep-alive"], "Accept-Charset": ["utf-8"], "Content-Type": ["application/json"], "Authorization": ["token <INSTALLATION_TOKEN>"]}, "method": "GET", "uri": "https://api.github.com/repos/westphahl/github3.py"}, "response": {"body": {"encoding": "utf-8", "base64_string": "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", "string": ""}, "headers": {"Server": ["GitHub.com"], "Date": ["Mon, 14 Jan 2019 07:00:32 GMT"], "Content-Type": ["application/json; charset=utf-8"], "Transfer-Encoding": ["chunked"], "Status": ["200 OK"], "X-RateLimit-Limit": ["5000"], "X-RateLimit-Remaining": ["4987"], "X-RateLimit-Reset": ["1547452421"], "Cache-Control": ["private, max-age=60, s-maxage=60"], "Vary": ["Accept, Authorization, Cookie, X-GitHub-OTP"], "ETag": ["W/\"249bff9ea8d7b6e34961dcf02b9eb21e\""], "Last-Modified": ["Thu, 03 Jan 2019 13:02:38 GMT"], "X-GitHub-Media-Type": ["github.v3; param=full; format=json"], "Access-Control-Expose-Headers": ["ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type"], "Access-Control-Allow-Origin": ["*"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "X-Frame-Options": ["deny"], "X-Content-Type-Options": ["nosniff"], "X-XSS-Protection": ["1; mode=block"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Security-Policy": ["default-src 'none'"], "Content-Encoding": ["gzip"], "X-GitHub-Request-Id": ["A3F0:024F:9EB470:168AF5A:5C3C3390"]}, "status": {"code": 200, "message": "OK"}, "url": "https://api.github.com/repos/westphahl/github3.py"}, "recorded_at": "2019-01-14T07:00:32"}, {"request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"User-Agent": ["github3.py/1.2.0"], "Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.loki-preview+json"], "Connection": ["keep-alive"], "Accept-Charset": ["utf-8"], "Content-Type": ["application/json"], "Authorization": ["token <INSTALLATION_TOKEN>"]}, "method": "GET", "uri": "https://api.github.com/repos/westphahl/github3.py/branches/checks-test"}, "response": {"body": {"encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA61XWXeiSBT+Kx5fs7CD5HRmWolxSUSNmkTHPjlFUSgKBQ2FCzn571OFxtaM01HTeTJV3O8udb+7vOYx8FH+Kg/HCE7jC4Jikj/Pw8D3XZK/es3HY0BvHSRDCeqabgkiFC0LSbYG5YJcQCqwHIQ0YIuOripUFAc2enFtKtS46attUSfWk8c3uv202YWp2Z0qTX/gmZVG2k+nUvOptmj4jWXfr3sNsS3107Zs3ow90791B/6jZ4q304bfV8xJ73rHLpCQcRAxC9cOdFw/wLknan84BmOPfox84HrUjvn72fcRO7mkztFbGxDmt8gL+gUvXPCFLq9f8dKVLA7yb+8RIGhbRcUl1cTaQsZBhEJv+X3kknFiHQbsozgGI6a6FzIbcsVet9p86FxGWeRJhOjde9x1zeFlTYEKLzh8QbBtZPOaCB1L5RUkQEWRLN5GSKWCScR8HRMSxlccB0L38pdVHDUziLlNILjVlXQZLtlPjimNuYOV0fB8RdsquWLuiKRiIgiTFxgkmKYlf56foch1XAiIG2AWr9X/iOYdiRJ0no8QiNlNfgY8mo3n+dgdYUCSiEX+gv2VypWamWtVWrlOrWIWu72HcnY+xEM8j0uwVCyWjGKxXWrXoVmxE+OhdKeNJ3JzJkW1ebFoV2u1Ys2YzI1nMp8s7/VWkQtAuzxvzftDnIR+b9FJYTcNkzl 8000 sS4kuiQou2ooF0qQ2TRcVHog9U++0GnCQtEo/xZYk9Jtw0ElS584oDzFvAsPTnEWzPgl6GnCssnTWrtYfPasUj+9CuYNM3X8qC645sAZxSzRqZJE8NRZloRfO/L4+xAZsxNNilVcLKVed3HWkAXAFvVd5CI1nedQzoujeRmcEhtPkPm1hq+IaZbWO25Ln9ltWqzrEg9kCpGKnEPso8dWlXprdtufThZgMOhXHqCyL3pn+UG85UbUxuFGSMNDAQrLTtt19rPozoA6xDk3lOYors2rYqDp98QGbRV5bBAkPxe4ZlAWjeh/+HM1L05a36Bi3Ovf4qKZL6bn9PKob5eshvo6qFj/E2duUzZu9L0bfNwRLLwCs7rBszh2azEMcgoimVo7nNV4RZKEgQY0XBahBCUGBRxJvaYIKgayq0BGQPcSr0pP7UHBy3/bUmb9ygiKrulQQRTF3xgs8dWSV/rSy5Fb1JPftv2Vkn9wQ7ykYb1/g4gk8HBPfe9nl/laV2VtfVlpOIHv8QdHhJe1Yx7h1eYlpGv3qK14wclkB2XhFb1lfozxWdttcW318Nj04aSzNbtamwAwQEH20PzuM+XVdTmIUwQATmnuscXAJx4D/nl3LFGAUrSGyRvpZdWdQW9Wdfn7gO9EvncDzgjmV/2jtbgP5oILbiG0gXDw6BYKKvXIBGSMaLurGG3PejcmR5mQir7SXxYTOHgwkprGOkH2cSWshatAcU1tes76ZoSVWDCM3ZN3mSNN2RClUEI0AdtOscR0JRUVZimbN/DjHMhEqimY03Y6UXcm8cmHkzgBcsnBECCJ3RqN7Ct4HYQpHlmE2D9H3Z7F2CXoBts/I5wAvRh+nsV/EtC4cmrxUhtFE0AuqLMvafm6WleZNnzdv2hL9/Hf8lP6Xn+8KvsTRjcmfUXTz4ZEMXcl9haA7CF/j5xrqi/Rco/xJdr5DbvP6NHKukY7n5lrwFGquRf8UMzeW7LD6IGKuhqc4f/XP+8py6BxF4U9dIt77+xGqPmPbemvcXozWg8vBSt5+0EL14rl4SsNBo4E856SFzIoAptt4zO2u5MyDLbzPxi42BO8gUOPCKCAIErYkZYV1c7LeoRAGlrd1G6GficuaKGUeSeKXlUHMOYSdIIIo28k8mobMssBx6JtmI82CsIz4wYbTtU6q4fcd6zcb6r6A0G6U+cIsf/sXYIKqBMUQAAA=", "string": ""}, "headers": {"Server": ["GitHub.com"], "Date": ["Mon, 14 Jan 2019 07:00:33 GMT"], "Content-Type": ["application/json; charset=utf-8"], "Transfer-Encoding": ["chunked"], "Status": ["200 OK"], "X-RateLimit-Limit": ["5000"], "X-RateLimit-Remaining": ["4986"], "X-RateLimit-Reset": ["1547452421"], "Cache-Control": ["private, max-age=60, s-maxage=60"], "Vary": ["Accept, Authorization, Cookie, X-GitHub-OTP"], "ETag": ["W/\"afdd17b531e8ebc7005033c928301d65\""], "X-GitHub-Media-Type": ["github.v3; param=loki-preview; format=json"], "Access-Control-Expose-Headers": ["ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type"], "Access-Control-Allow-Origin": ["*"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "X-Frame-Options": ["deny"], "X-Content-Type-Options": ["nosniff"], "X-XSS-Protection": ["1; mode=block"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Security-Policy": ["default-src 'none'"], "Content-Encoding": ["gzip"], "X-GitHub-Request-Id": ["A3F0:024F:9EB495:168AFBA:5C3C3390"]}, "status": {"code": 200, "message": "OK"}, "url": "https://api.github.com/repos/westphahl/github3.py/branches/checks-test"}, "recorded_at": "2019-01-14T07:00:33"}, {"request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"User-Agent": ["github3.py/1.2.0"], "Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.antiope-preview+json"], "Connection": ["keep-alive"], "Accept-Charset": ["utf-8"], "Content-Type": ["application/json"], "Authorization": ["token <INSTALLATION_TOKEN>"]}, "method": "GET", "uri": "https://api.github.com/repos/westphahl/github3.py/commits/fe4c3c979b12c2bbe3d7c4848e6abfee7ad2f965/check-suites?per_page=100"}, "response": {"body": {"encoding": "utf-8", "base64_string": "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", "string": ""}, "headers": {"Server": ["GitHub.com"], "Date": ["Mon, 14 Jan 2019 07:00:33 GMT"], "Content-Type": ["application/json; charset=utf-8"], "Transfer-Encoding": ["chunked"], "Status": ["200 OK"], "X-RateLimit-Limit": ["5000"], "X-RateLimit-Remaining": ["4985"], "X-RateLimit-Reset": ["1547452421"], "Cache-Control": ["private, max-age=60, s-maxage=60"], "Vary": ["Accept, Authorization, Cookie, X-GitHub-OTP"], "ETag": ["W/\"a263af639acd0fd7f441592401ad4e5d\""], "X-GitHub-Media-Type": ["github.antiope-preview; format=json"], "Access-Control-Expose-Headers": ["ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type"], "Access-Control-Allow-Origin": ["*"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "X-Frame-Options": ["deny"], "X-Content-Type-Options": ["nosniff"], "X-XSS-Protection": ["1; mode=block"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Security-Policy": ["default-src 'none'"], "Content-Encoding": ["gzip"], "X-GitHub-Request-Id": ["A3F0:024F:9EB4C0:168B004:5C3C3391"]}, "status": {"code": 200, "message": "OK"}, "url": "https://api.github.com/repos/westphahl/github3.py/commits/fe4c3c979b12c2bbe3d7c4848e6abfee7ad2f965/check-suites?per_page=100"}, "recorded_at": "2019-01-14T07:00:33"}, {"request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"User-Agent": ["github3.py/1.2.0"], "Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.machine-man-preview+json"], "Connection": ["keep-alive"], "Accept-Charset": ["utf-8"], "Content-Type": ["application/json"], "Authorization": ["token <INSTALLATION_TOKEN>"]}, "method": "GET", "uri": "https://api.github.com/apps/test-app-for-github3-py"}, "response": {"body": {"encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA52TX0+DMBTFv8rCs6wM3aIkxsT44sM0JtMYX5YKd1DD2qYtzEn23T0FYpQHlT0B5f7OPb1/mkBkQRLHF+fzk0CqjNb+O1jeLBcPz9e75dvt/P7m8TI4CdROkgmSJihVLiRidmSdLnhR4qeHTuP5QONh8fR8V6Zvy/3dqtXgNXfcrCtTgi+c0zZhrDu00TQXrqheK0smVdKRdNNUbVnFvPBVfXkGgdz0Eq1LHAyktOhVOhRSln33WbhtOUjfZW3jv0duVFmqHfih219TsC8M3rp3IfNjJIA1TLmCUC5c4+AvL6wbaadFGuYfaKwXsWiAoWycpR6CIT8Eh4YZ0qpVq15taoR2QsmR1n6gkFIm51J88COkgFooeFMjTbQIUKoxbiPZjmmYNqLm6d6Xw1BKokZ1j9EbwJBze00Y80f039daOFrzbOuXb8NLSwdsLN/6iBVWccK1nmyUmXQDfTrVe0AZffWnWxh6d2Qk/88WYGz8QvZKv68OklvmYCPEWwgbYQ+HrY3UEHeoC3dwEUezizCahVG8msXJ2SKJ4hfEVDr7I+bwCUr8WAKuBAAA", "string": ""}, "headers": {"Server": ["GitHub.com"], "Date": ["Mon, 14 Jan 2019 07:00:33 GMT"], "Content-Type": ["application/json; charset=utf-8"], "Transfer-Encoding": ["chunked"], "Status": ["200 OK"], "X-RateLimit-Limit": ["5000"], "X-RateLimit-Remaining": ["4984"], "X-RateLimit-Reset": ["1547452421"], "Cache-Control": ["private, max-age=60, s-maxage=60"], "Vary": ["Accept, Authorization, Cookie, X-GitHub-OTP"], "ETag": ["W/\"c55e3ec046bd60d3b17fb9580e357375\""], "X-GitHub-Media-Type": ["github.machine-man-preview; format=json"], "Access-Control-Expose-Headers": ["ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type"], "Access-Control-Allow-Origin": ["*"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "X-Frame-Options": ["deny"], "X-Content-Type-Options": ["nosniff"], "X-XSS-Protection": ["1; mode=block"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Security-Policy": ["default-src 'none'"], "Content-Encoding": ["gzip"], "X-GitHub-Request-Id": ["A3F0:024F:9EB4E1:168B05A:5C3C3391"]}, "status": {"code": 200, "message": "OK"}, "url": "https://api.github.com/apps/test-app-for-github3-py"}, "recorded_at": "2019-01-14T07:00:33"}], "recorded_with": "betamax/0.8.1"}

tests/integration/test_checks.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,21 @@ def test_auto_trigger_checks_prefs(self):
8787
)
8888

8989

90+
class TestCheckApp(IntegrationHelper):
91+
def test_check_app_refresh(self):
92+
cassette_name = self.cassette_name("create_check_run")
93+
with self.recorder.use_cassette(cassette_name):
94+
self.app_installation_login()
95+
repo = self.gh.repository("westphahl", "github3.py")
96+
branch = repo.branch("checks-test")
97+
check_suite = next(branch.commit.check_suites())
98+
99+
app = check_suite.app
100+
assert isinstance(app, github3.checks.CheckApp)
101+
app = app.refresh()
102+
assert isinstance(app, github3.apps.App)
103+
104+
90105
class TestCheckRun(IntegrationHelper):
91106
def get_repo(self, repository="westphahl/github3.py"):
92107
owner, name = repository.split("/")

0 commit comments

Comments
 (0)
0