def user_data(self, access_token, response, *args, **kwargs): """Loads user data from service""" request_data = [ 'first_name', 'last_name', 'screen_name', 'nickname', 'photo' ] + self.setting('EXTRA_DATA', []) fields = ','.join(set(request_data)) data = vk_api( self, 'users.get', { 'access_token': access_token, 'fields': fields, 'uids': response.get('user_id') }) if data.get('error'): error = data['error'] msg = error.get('error_msg', 'Unknown error') if error.get('error_code') == 5: raise AuthTokenRevoked(self, msg) else: raise AuthException(self, msg) if data: data = data.get('response')[0] data['user_photo'] = data.get('photo') # Backward compatibility return data
class AuthTokenRevokedTest(BaseExceptionTestCase): exception = AuthTokenRevoked('foobar') expected_message = 'User revoke access to the token'