def test_get_scopes(self): # Test fetching scopes of a valid grant oauth_grant = db_oauth_grant.create( client_id=self.oauth_client["client_id"], code="Test Code", redirect_uri="https://example.com", expires=datetime.now() + timedelta(seconds=200), user_id=self.user.id, scopes="review user", ) self.assertIn("review", db_oauth_grant.get_scopes(oauth_grant["id"])) # Test fetching scopes of a grant that does not exist db_oauth_grant.delete(client_id=self.oauth_client["client_id"], code=oauth_grant["code"]) with self.assertRaises(db_exceptions.NoDataFoundException): db_oauth_grant.get_scopes(oauth_grant["id"]) # Test fetching scopes of grant with no scopes oauth_grant = db_oauth_grant.create( client_id=self.oauth_client["client_id"], code="Test Code", redirect_uri="https://example.com", expires=datetime.now() + timedelta(seconds=200), user_id=self.user.id, scopes=None, ) self.assertEqual([], db_oauth_grant.get_scopes(oauth_grant["id"]))
def validate_grant_scope(self, client_id, code, scope): grant = self.fetch_grant(client_id, code) return self.validate_scope(scope, db_oauth_grant.get_scopes(grant["id"]))