Ir al contenido

Sección Mocks

La sección Mocks es donde defines las respuestas simuladas que MicroLab sirve cuando una dependencia se resuelve como mock. Te permite trabajar sin VPN y sin levantar el core al que llama tu micro.

No necesitas iniciar nada para editar mocks: el catálogo vive en disco (.microlab/mocks/<servicio>.json) y se sirve con recarga en caliente, así que un cambio se aplica al instante aunque el escenario esté corriendo.

El lateral muestra un árbol de servicios (los cores mockeables) y, dentro de cada uno, sus endpoints. Los endpoints se agrupan en carpetas plegables derivadas de los segmentos de su ruta, sin que tengas que organizarlos a mano.

Un servicio es mockeable si es una dependencia de algún micro (o si creas su fichero en .microlab/mocks). Puedes mostrar u ocultar los servicios que aún no tienen stubs.

Pulsa Nuevo stub (o el menú «⋮») y elige el servicio destino —uno del catálogo o uno nuevo que se crea al guardar—. Un endpoint se define con:

  • Método y ruta (relativa a la ruta base del servicio).
  • Una o varias variantes de respuesta.

Hay dos formas de rellenar el cuerpo:

  • Desde OpenAPI: si el servicio declara una especificación OpenAPI (en el manifiesto del micro, o derivada de su URL de nube), selecciona la operación y MicroLab genera una plantilla del cuerpo.
  • Manual: si no hay OpenAPI, escribes el cuerpo JSON a mano.

Un endpoint puede tener varias variantes (por ejemplo una 200 y una 500). Cada variante tiene su etiqueta, código de estado, cuerpo (JSON), cabeceras y una latencia opcional en milisegundos para simular lentitud.

La variante seleccionada se expande en línea con su cuerpo, cabeceras y ajustes juntos. La variante que se sirve se marca aparte con un conmutador (es independiente de la que estés editando): es la respuesta que MicroLab devolverá a quien llame a ese endpoint.

Puedes duplicar una variante para partir de una parecida, y activar o desactivar un endpoint entero (uno desactivado no se sirve ni se edita).

El editor de mocks guarda solo, con un pequeño retardo, mientras escribes; verás un indicador «Guardado». Salvaguardas:

  • Solo se persisten estados válidos: un cuerpo JSON a medias no rompe el mock servido —se mantiene el último válido en disco y el error se marca en línea—.
  • Un stub nuevo no se persiste hasta tener método y ruta usables.
  • El borrado siempre es explícito, con confirmación.

Cuando un escenario corre y un micro llama a un mock que aún no tiene respuesta, esa llamada aparece en el dock Llamadas mock. Desde ahí puedes crear un stub con un clic a partir de la llamada observada: vas directo al endpoint que quieres completar, sin buscarlo. También puedes probar qué respondería el mock sin arrancar nada.

Con los iconos de importar/exportar del panel:

  • Exportar los endpoints de un servicio (o de varios) a un fichero JSON.
  • Importar un JSON propio o una colección Postman (sus carpetas se mapean a servicios).

Es útil para compartir un catálogo de mocks o reutilizarlo entre escenarios.

Todo esto existe también en el CLI: microlab mock services, mock catalog, mock save, mock set-active, mock skeleton, mock from-call, mock probe, mock import / export. Ver la referencia del CLI.