Salta ai contenuti

Sezione Mock

La sezione Mock è dove definisci le risposte simulate che MicroLab serve quando una dipendenza è risolta come mock. Ti permette di lavorare senza VPN e senza avviare il core che il tuo micro chiama.

Non devi avviare nulla per modificare i mock: il catalogo vive su disco (.microlab/mocks/<servizio>.json) ed è servito con hot reload, così una modifica si applica all’istante anche con lo scenario in esecuzione.

Il lato mostra un albero di servizi (i core mockabili) e, dentro ciascuno, i suoi endpoint. Gli endpoint si raggruppano in cartelle comprimibili derivate dai segmenti del loro percorso, senza che tu debba organizzarli a mano.

Un servizio è mockabile se è una dipendenza di qualche micro (o se crei il suo file in .microlab/mocks). Puoi mostrare o nascondere i servizi che non hanno ancora stub.

Premi Nuovo stub (o il menu «⋮») e scegli il servizio di destinazione —uno dal catalogo o uno nuovo che si crea al salvataggio—. Un endpoint si definisce con:

  • Metodo e percorso (relativo al percorso base del servizio).
  • Una o più varianti di risposta.

Ci sono due modi di riempire il corpo:

  • Da OpenAPI: se il servizio dichiara una specifica OpenAPI (nel manifesto del micro, o derivata dal suo URL cloud), seleziona l’operazione e MicroLab genera un modello del corpo.
  • Manuale: se non c’è OpenAPI, scrivi il corpo JSON a mano.

Un endpoint può avere diverse varianti (per esempio una 200 e una 500). Ogni variante ha la sua etichetta, il suo codice di stato, il suo corpo (JSON), le sue intestazioni e una latenza opzionale in millisecondi per simulare lentezza.

La variante selezionata si espande in linea con il suo corpo, le intestazioni e le impostazioni insieme. La variante che viene servita si marca a parte con un interruttore (è indipendente da quella che stai modificando): è la risposta che MicroLab restituirà a chi chiama quell’endpoint.

Puoi duplicare una variante per partire da una simile, e attivare o disattivare un intero endpoint (uno disattivato non viene né servito né modificato).

L’editor di mock salva da solo, con un piccolo ritardo, mentre scrivi; vedrai un indicatore «Salvato». Salvaguardie:

  • Si persistono solo stati validi: un corpo JSON a metà non rompe il mock servito —si mantiene l’ultimo valido su disco e l’errore si segnala in linea—.
  • Uno stub nuovo non si persiste finché non ha un metodo e un percorso utilizzabili.
  • L’eliminazione è sempre esplicita, con conferma.

Quando uno scenario gira e un micro chiama un mock che non ha ancora risposta, quella chiamata appare nel dock Chiamate mock. Da lì puoi creare uno stub con un clic dalla chiamata osservata: vai diritto all’endpoint che vuoi completare, senza cercarlo. Puoi anche testare cosa risponderebbe il mock senza avviare nulla.

Con le icone di import/export del pannello:

  • Esportare gli endpoint di un servizio (o di più) in un file JSON.
  • Importare un JSON proprio o una collezione Postman (le sue cartelle si mappano ai servizi).

Utile per condividere un catalogo di mock o riutilizzarlo tra scenari.

Tutto questo esiste anche nella CLI: microlab mock services, mock catalog, mock save, mock set-active, mock skeleton, mock from-call, mock probe, mock import / export. Vedi il riferimento CLI.