def test_refresh_without_configuration(): # remove URL config tokens.configure(dir='', url='') tokens.manage('mytok', ['scope']) with pytest.raises(tokens.ConfigurationError) as exc_info: tokens.refresh('mytok') assert str(exc_info.value) == 'Configuration error: Missing OAuth access token URL. Either set OAUTH2_ACCESS_TOKEN_URL or use tokens.configure(url=..).'
def test_refresh(monkeypatch, tmpdir): tokens.configure(dir=str(tmpdir), url='') tokens.manage('mytok', ['myscope']) with pytest.raises(tokens.ConfigurationError): tokens.refresh('mytok') tokens.configure(dir=str(tmpdir), url='https://example.org') with open(os.path.join(str(tmpdir), 'user.json'), 'w') as fd: json.dump({'application_username': '******', 'application_password': '******'}, fd) with open(os.path.join(str(tmpdir), 'client.json'), 'w') as fd: json.dump({'client_id': 'cid', 'client_secret': 'sec'}, fd) response = MagicMock() response.json.return_value = {'expires_in': 123123, 'access_token': '777'} monkeypatch.setattr('requests.post', lambda url, **kwargs: response) tok = tokens.get('mytok') assert tok == '777'
#!/usr/bin/env python3 import tokens import datetime import requests import logging import hashlib tokens.configure(dir='./meta/credentials', url='https://auth.zalando.com/oauth2/access_token?realm=/services') tokens.manage('marauder', ['uid']) logging.basicConfig(level=logging.ERROR, format='%(asctime)s - %(message)s') while True: a = tokens.refresh('marauder') a= a['data'] data = requests.get('https://auth.zalando.com/oauth2/tokeninfo?access_token={}'.format(a['access_token'])).json() if data['uid'] == 'stups_marauder': tokenhash = '[ERROR] - HASHED ACCESS_TOKEN: {0} - BEARER: {1}'.format(hashlib.sha1((a['access_token']).encode()).hexdigest(), hashlib.sha1(str(a).encode()).hexdigest()) logging.error(tokenhash) for i in range(3): t = requests.get('https://auth.zalando.com/oauth2/tokeninfo?access_token={}'.format(a['access_token'])).json() logging.error('[DEBUG] - CAPTURED TOKEN FOR: \" {0}\" WITH HASHED ACCESS TOKEN: {1}'.format(t['uid'], t['access_token'])) elif data['uid'] != 'stups_marauder': logging.warning('[OK]') else: logging.warning('[UNKONWN ERROR]')