def test_get_scopes(self): # Test fetching scopes of a valid token oauth_token = db_oauth_token.create( client_id=self.oauth_client["client_id"], access_token="Test Access Token", refresh_token="Test Refresh Token", expires=datetime.now() + timedelta(seconds=200), user_id=self.user.id, scopes="Test Scopes", ) self.assertIn("Test", db_oauth_token.get_scopes(oauth_token["id"])) # Test fetching scopes of a token that does not exist db_oauth_token.delete(client_id=self.oauth_client["client_id"], refresh_token="Test Refresh Token") with self.assertRaises(db_exceptions.NoDataFoundException): db_oauth_token.get_scopes(oauth_token["id"]) # Test fetching scopes of token with no scopes oauth_token = db_oauth_token.create( client_id=self.oauth_client["client_id"], access_token="Test Access Token", refresh_token="Test Refresh Token", expires=datetime.now() + timedelta(seconds=200), user_id=self.user.id, scopes=None, ) self.assertEqual([], db_oauth_token.get_scopes(oauth_token["id"]))
def test_create(self): self.assertEqual(len(db_oauth_token.list_tokens()), 0) db_oauth_token.create( client_id=self.oauth_client["client_id"], access_token="Test Access Token", refresh_token="Test Refresh Token", expires=datetime.now() + timedelta(seconds=200), user_id=self.user.id, scopes=None, ) self.assertEqual(len(db_oauth_token.list_tokens()), 1)
def test_list(self): db_oauth_token.create( client_id=self.oauth_client["client_id"], access_token="Test Access Token", refresh_token="Test Refresh Token", expires=datetime.now() + timedelta(seconds=200), user_id=self.user.id, scopes=None, ) self.assertEqual(len(db_oauth_token.list_tokens(client_id=self.oauth_client["client_id"])), 1) self.assertEqual(len(db_oauth_token.list_tokens(refresh_token="Test Refresh Token")), 1)
def persist_token(client_id, scope, refresh_token, access_token, expires, user_id): return db_oauth_token.create( client_id=client_id, scopes=scope, access_token=access_token, refresh_token=refresh_token, expires=expires, user_id=user_id, )
def test_user_tests(self): db_oauth_client.create( user_id=self.user1.id, name="Some Application", desc="Created for some purpose", website="https://example.com", redirect_uri="https://example.com/redirect/", ) client = db_users.clients(self.user1.id)[0] db_oauth_token.create( client_id=client["client_id"], access_token="Test Access Token", refresh_token="Test Refresh Token", expires=datetime.now() + timedelta(seconds=200), user_id=self.user1.id, scopes=None, ) tokens = db_users.tokens(self.user1.id) self.assertEqual(tokens[0]["client_name"], "Some Application") self.assertEqual(tokens[0]["refresh_token"], "Test Refresh Token")