def test_get_token(self): url = "https://ega.ebi.ac.uk:8443/ega-openid-connect-server/token" id_token = rand_str() access_token = rand_str() good_credentials = (rand_str(), rand_str(), rand_str()) def request_callback(request): query = parse.parse_qs( request.body ) if query['username'][0] == good_credentials[0] and query['password'][0] == good_credentials[1]: return ( 200, {}, json.dumps({"access_token": access_token, "id_token": id_token, "token_type": "Bearer", "expires_in": 3600 }) ) else: return ( 400, {}, json.dumps({"error_description": "Bad credentials","error": "invalid_grant"}) ) responses.add_callback( responses.POST, url, callback=request_callback, content_type='application/json', ) resp_token = pyega3.get_token(good_credentials) self.assertEqual( resp_token, access_token ) bad_credentials = (rand_str(), rand_str(), rand_str()) with self.assertRaises(SystemExit): pyega3.get_token(bad_credentials)
def __init__(self, credentialsPath): *credentials, self.key = ega.load_credential( os.path.expanduser(credentialsPath)) self.credentials = credentials self.token = ega.get_token(credentials)