🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPruebas generadas desde el contrato de la API
5 tareas · 40 min · Principiante
Si la API tiene un contrato OpenAPI, las pruebas se pueden generar solas: miles de peticiones dentro y fuera de lo que el contrato permite, y una comprobación de que cada respuesta cumple lo prometido. Conjuntos Llovizna corre cada noche un generador así sobre su API de reservas en el entorno de integración. Te entrega el contrato, la configuración de la corrida y su informe.
Objetivo de la sala
Si la API tiene un contrato OpenAPI, las pruebas se pueden generar solas: miles de peticiones dentro y fuera de lo que el contrato permite, y una comprobación de que cada respuesta cumple lo prometido. Conjuntos Llovizna corre cada noche un generador así sobre su API de reservas en el entorno de integración. Te entrega el contrato, la configuración de la corrida y su informe.Un contrato bien escrito es un requisito que una máquina puede leer: dice qué campos entran, de qué tipo, entre qué límites, si se aceptan campos de más, qué códigos puede devolver cada operación y qué forma tiene cada respuesta. Un generador de pruebas basado en el contrato aprovecha eso: arma peticiones válidas y peticiones que lo rompen a propósito (un número fuera de rango, un campo que no existe, una fecha imposible) y marca como fallo lo que el servidor haga distinto de lo prometido: aceptar lo que debía rechazar, responder con un código que no está declarado, caerse con un 500 o devolver una respuesta con campos que el esquema no tiene.
Lo que no puede saber es lo que el contrato no dice. El contrato describe la forma de los datos, no de quién son: una petición bien formada sobre la unidad de otra persona le parece tan correcta como sobre la propia. Para eso siguen haciendo falta las pruebas de autorización con varias cuentas.
Responde para continuar
¿Qué fallo no puede encontrar por sí solo un generador de pruebas basado en el contrato?
Ver pista de ayuda
Pregúntate cuál de los tres no se puede decidir leyendo solo el contrato.
Abre el laboratorio y lee contrato-reservas.yaml: el esquema de la reserva que se devuelve no admite propiedades adicionales. Luego busca en informe-contrato.txt el fallo de una respuesta que no cumple su esquema. Una propiedad no declarada en una respuesta casi nunca es un detalle de forma: suele ser un dato que el modelo interno arrastra y que nadie decidió publicar.
Responde para continuar
¿Qué propiedad devuelve la consulta de una reserva sin estar declarada en el contrato?
Ver pista de ayuda
Mira el fallo de la operación verReserva.
El esquema de la petición para crear una reserva tampoco admite propiedades adicionales, y aun así el informe registra una que el servidor aceptó y guardó. Es asignación masiva vista desde fuera: el generador no sabe qué hace el servidor con el campo, pero sí ve que la respuesta y la reserva guardada lo reflejan.
Responde para continuar
¿Qué propiedad no declarada aceptó la API al crear una reserva y la dejó guardada?
Ver pista de ayuda
Busca el caso de crearReserva que menciona una propiedad no declarada.
Un informe sin fallos en una operación solo dice algo si la operación se probó. Lee configuracion-generador.txt: hay una operación que cambia datos y que la corrida deja fuera, con un motivo que no es de seguridad.
Responde para continuar
¿Qué operación de la API, identificada por su operationId, excluye la configuración de la corrida nocturna?
Ver pista de ayuda
Mira la sección de operaciones excluidas.
La operación del estado de cuenta sale con cero fallos. Fíjate en cuántas respuestas fueron 404, sobre qué unidad fueron las 200 y con cuántas cuentas corre el generador.
Responde para continuar
¿Qué se concluye del cero de verEstadoDeCuenta en el informe?
Ver pista de ayuda
Una sola cuenta y identificadores al azar no prueban de quién es cada unidad.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.