def test_refresh_token(self): client = NexaasIDOAuthClient('client', 'secret', redirect_uri='http://localhost/callback') token = client.get_token('the-access-grant-code') self.assertEqual(token.refresh_token, 'the-refresh-token') self.assertEqual(token.expires_at, datetime(2018, 8, 10, 13, 53, 53)) self.assertEqual(token.scope, 'invite')
def get_client(): return NexaasIDOAuthClient( current_app.config['NEXAAS_ID_CLIENT_ID'], current_app.config['NEXAAS_ID_CLIENT_SECRET'], server=current_app.config.get('NEXAAS_ID_HOST'), redirect_uri=url_for('nexaas_id_oauth.callback', _external=True), scope=current_app.config.get('NEXAAS_ID_CLIENT_SCOPE'), )
def get_client(request): return NexaasIDOAuthClient( settings.NEXAAS_ID_CLIENT_ID, settings.NEXAAS_ID_CLIENT_SECRET, server=settings.NEXAAS_ID_HOST, redirect_uri=request.build_absolute_uri(reverse(callback)), scope=settings.NEXAAS_ID_CLIENT_SCOPE, )
def test_default_values(self): client = NexaasIDOAuthClient('client', 'secret', redirect_uri='http://localhost/callback') self.assertEqual(client.id, 'client') self.assertEqual(client.secret, 'secret') self.assertEqual(client.scope, 'profile') self.assertEqual(client.redirect_uri, 'http://localhost/callback') self.assertEqual(client.server.geturl(), 'http://localhost:3000/')
def test_authorize_url(self): client = NexaasIDOAuthClient('client', 'secret', redirect_uri='http://localhost/callback') url = urlparse(client.authorize_url) self.assertTupleEqual( url._replace(query=parse_qs(url.query)), ( 'http', 'localhost:3000', '/oauth/authorize', '', { 'response_type': ['code'], 'client_id': ['client'], 'redirect_uri': ['http://localhost/callback'], 'scope': ['profile'], }, '', ), )
def test_get_client_credentials_success(self): client = NexaasIDOAuthClient('client', 'secret', redirect_uri='http://localhost/callback') token = client.get_token() self.assertEqual(token.access_token, 'client-credentials-access-token')
def test_get_token_empty(self): client = NexaasIDOAuthClient('client', 'secret', redirect_uri='http://localhost/callback') with self.assertRaises(ValueError): client.get_token('the-access-grant-code')
def test_get_token_success(self): client = NexaasIDOAuthClient('client', 'secret', redirect_uri='http://localhost/callback') token = client.get_token('the-access-grant-code') self.assertEqual(token.access_token, 'some-valid-access-token')
def test_server_by_name(self): client = NexaasIDOAuthClient('client', 'secret', server='id.nexaas.com', redirect_uri='http://localhost/callback') self.assertEqual(client.server.geturl(), 'https://id.nexaas.com')
def build_oauth_client(): return NexaasIDOAuthClient( 'E4KAAPDCBBBZVHZBTXZX6EEBDU', 'F6K34MJSAZBC7FNG7XBBS6HMRY', redirect_uri='http://localhost:9000/callback', )