Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
Anule la dependencia de JWTBearer Auth en FastAPI durante la prueba

Tengo problemas para intentar anular la validación de JWT desde mi etapa de prueba.

La validación funciona bien cuando llamo a los puntos finales de la API o cuando los llamo usando la interfaz de usuario de Swagger.

Todos mis puntos finales se declaran de la siguiente manera:

 @router.get("/some-path/{id}", response_model=SomeModel, dependencies=[Depends(JWTBearer())]) async def read_card_basic(*, db: Session = Depends(get_db), id: int): # do something

Y la clase JWTBearer tiene un método __call__ que realiza la validación:

 async def __call__(self, request: Request): credentials: HTTPAuthorizationCredentials = await super(JWTBearer, self).__call__(request) if credentials: if not credentials.scheme == "Bearer": raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="Invalid authentication scheme.") if not self.verify_jwt(credentials.credentials): raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="Invalid or expired token.") return credentials.credentials else: raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="Invalid authorization code.")

Estoy usando Pytest y ya estoy anulando las dependencias en el archivo conftest.py de esta manera:

 def pytest_configure() -> None: """ Pytest will identify this function automatically and will run it before running any test """ initialize_testing_db() initialize_other_testing_db() create_data() create_other_data() app.dependency_overrides[get_db] = get_test_db app.dependency_overrides[get_other_db] = get_other_test_db

Traté de seguir los ejemplos en la documentación, pero no puedo encontrar una forma de eliminarlo, ya que obtenemos el token de un servicio externo y no lo necesitamos durante la prueba.

Cualquier ayuda sería apreciada y puedo agregar más información si es necesario.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda