示例#1
0
 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,
    )
示例#4
0
    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/')
示例#5
0
 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'],
             },
             '',
         ),
     )
示例#6
0
 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')
示例#7
0
 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')
示例#8
0
 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')
示例#9
0
 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')
示例#10
0
 def build_oauth_client():
     return NexaasIDOAuthClient(
         'E4KAAPDCBBBZVHZBTXZX6EEBDU',
         'F6K34MJSAZBC7FNG7XBBS6HMRY',
         redirect_uri='http://localhost:9000/callback',
     )