8000 Add GitHubSession#retrieve_client_credentials · mikewaters/github3.py@81b903f · GitHub
[go: up one dir, main page]

Skip to content

Commit 81b903f

Browse files
committed
Add GitHubSession#retrieve_client_credentials
- Convenience method for revoking authorizations
1 parent c3d47be commit 81b903f

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

github3/session.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,15 @@ def request(self, *args, **kwargs):
8787
response = new_response
8888
return response
8989

90+
def retrieve_client_credentials(self):
91+
"""Return the client credentials.
92+
93+
:returns: tuple(client_id, client_secret)
94+
"""
95+
client_id = self.params.get('client_id')
96+
client_secret = self.params.get('client_secret')
97+
return (client_id, client_secret)
98+
9099
def two_factor_auth_callback(self, callback):
91100
if not callback:
92101
return

tests/unit/test_github_session.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,3 +200,21 @@ def test_temporary_basic_auth_replaces_auth(self):
200200
s.basic_auth('foo', 'bar')
201201
with s.temporary_basic_auth('temp', 'pass'):
202202
assert s.auth == ('temp', 'pass')
203+
204+
def test_retrieve_client_credentials_when_set(self):
205+
"""Test that retrieve_client_credentials will return the credentials.
206+
207+
We must assert that when set, this function will return them.
208+
"""
209+
s = self.build_session()
210+
s.params = {'client_id': 'id', 'client_secret': 'secret'}
211+
assert s.retrieve_client_credentials() == ('id', 'secret')
212+
213+
def test_retrieve_client_credentials_returns_none(self):
214+
"""Test that retrieve_client_credentials will return (None, None).
215+
216+
Namely, then the necessary parameters are set, it will not raise an
217+
error.
218+
"""
219+
s = self.build_session()
220+
assert s.retrieve_client_credentials() == (None, None)

0 commit comments

Comments
 (0)
0