Open waknaudt opened 2 months ago
Holaa, mil disculpas, se nos pasó agregar ese archivo, pero ya esta todo subido✨.
Hola, despues de revisar los tests privados creo que estos siguen teniendo errores. En api_privado.py, se ve lo siguiente en lineas desde 173 a 221:
@endpoint("/update", "POST")
def update_signo_post(self, params, body, *args, **kwargs):
response = {"result": ""}
if "signo" not in body or "mensaje" not in body:
response["result"] = "Falta información en la consulta"
return response, BAD
# Recardar que siempre el "valor" del diccionario será una lista
# aunque sea de 1 elemento.
mensaje = body["mensaje"][0]
signo = body["signo"][0]
if len(mensaje) < 5:
response["result"] = "El mensaje debe tener más de 4 caracteres"
return response, BAD
if signo not in self.database:
self.database[signo] = mensaje
response["signos"] = list(self.database.keys())
response["result"] = "Información agregada con éxito"
return response, OK
response["result"] = "El signo ya existe, no puedes modificarlo"
return response, BAD
@endpoint("/update", "PUT")
def update_signo_put(self, params, body, *args, **kwargs):
response = {"result": ""}
if "signo" not in body or "mensaje" not in body:
response["result"] = "Falta información en la consulta"
return response, BAD
# Recardar que siempre el "valor" del diccionario será una lista
# aunque sea de 1 elemento.
mensaje = body["mensaje"][0]
signo = body["signo"][0]
if len(mensaje) < 5:
response["result"] = "El mensaje debe tener más de 4 caracteres"
return response, BAD
if signo not in self.database:
response["result"] = "El signo no existe."
return response, BAD
self.database[signo] = mensaje
response["result"] = "Información actualizada con éxito"
return response, OK
Como se puede ver en los @endpoint, estos solo aceptan POST o PUT en /update. Sin embargo, en el enunciado dice lo siguiente:
def actualizar_horoscopo(self, signo: str, mensaje: str, access_token: str) -> str:
Recibe un signo del horóscopo, un mensaje y token de acceso de YolandAPI. Con estos datos,
deberás realizar una request de tipo PATCH a la ruta f"{self.base}/update", para modificar el
mensaje asociado a un signo en la base de datos de YolandAPI...
Es decir, el enunciado dice que la request debe ser tipo PATCH, no POST ni PUT. Los test privados esperan requests del tipo POST o PUT, contradiciendo el enunciado. Si se cambia @endpoint("/update", "PUT") por @endpoint("/update", "PATCH") en api_privado.py, los 3 errores que me enviaron en el feedback desaparecen y corre todo sin errores.
Hola, al ejecutar test_AC05.py me sale el siguiente error:
import api_privado
ModuleNotFoundError: No module named 'api_privado'