Referencia de la CLI
La CLI mockzilla es el mock server de código abierto. Corre en tu máquina, no necesita cuenta y funciona sin conexión. Esta página lista lo que puedes escribir.
Consulta Instalar la CLI para tenerla en tu máquina.
Servir un mock
Un argumento, y aquello a lo que apuntes decide qué corre:
mockzilla petstore.yml # un archivo de spec
mockzilla https://petstore3.swagger.io/api/v3/openapi.json # una spec por URL
mockzilla ./services/ # una carpeta
mockzilla petstore.mockz # un paquete, desde el disco o una URL
mockzilla response.json # una respuesta estática, servida en GET /El servidor arranca en el puerto 2200 con el explorador de API en su raíz. Los archivos cargados desde el disco se vigilan: guarda una spec, un config.yml o un context.yml y ese servicio se cambia en caliente, sin reinicio.
Una carpeta se lee como un montón de specs, como un servicio único, o como un árbol services/.
Consulta Simulaciones portables para las tres formas de carpeta y qué va en cada una.
Flags
--port Nelige el puerto.0toma cualquier puerto libre que ofrezca la máquina. Por defecto2200.--ready-stampimprime una sola línea JSON en cuanto el servidor está escuchando, para los scripts que esperan por él.
Otras cuatro aplican cuando hay exactamente un servicio registrado, que es el caso de un archivo de spec único o de una carpeta de servicio única:
--latency Ddemora cada respuesta una duración, como100mso1s.--mount PATHdefine el prefijo de URL en el que responde el servicio, comopets/v2.--errors RULESresponde una parte de las solicitudes con un estado de error.p5=500,p10=503manda 500 al 5 por ciento de las solicitudes y 503 al 5 siguiente.--context FILEapunta a un YAML de contexto, los valores de reemplazo planos que dan forma a los datos generados.
Cuánto registra el servidor es una variable de entorno, no un flag. LOG_LEVEL toma debug, info, warn, error o none, y por defecto es info.
Mirar dentro de una spec
mockzilla info petstore.yml
mockzilla info https://petstore3.swagger.io/api/v3/openapi.json
mockzilla info petstore.mockzImprime un objeto JSON y sale: título, versión, versión de OpenAPI, cantidad de endpoints, y cada ruta con su método y su id de operación. Un paquete .mockz se desempaqueta y se resume igual, así que puedes leer qué guarda un archivo antes de servirlo.
Simplificar una spec
mockzilla simplify openapi.ymlDescarta las propiedades opcionales que usan anyOf u oneOf, reduce una unión obligatoria a su primera variante, y saca los campos de extensión x-*. Los ejemplos se dejan como están. El resultado va a stdout salvo que --output nombre un archivo.
Las propiedades opcionales se recortan de una de dos formas:
--optional Nconserva exactamente N por esquema.--optional 0las descarta todas.--optional-min A --optional-max Bconserva una cantidad al azar en ese rango. Los dos flags van juntos.
Deja los dos afuera y sobreviven todas las propiedades opcionales. No se pueden combinar.
--output FILE, o-o, escribe a un archivo en lugar de a stdout.--config FILEcorre antes una configuración de codegen: filtra por ruta, etiqueta o id de operación, aplica deltas de OpenAPI Overlay, y después descarta las refs que eso dejó colgando.
Pasa - como spec para leerla de stdin:
curl -s https://example.com/openapi.json | mockzilla simplify -La app hace el mismo trabajo sobre una spec subida, en Opciones de la spec.
Consulta Ajustes del servicio.
Empaquetar una carpeta
mockzilla pack ./Escribe <carpeta>.mockz junto a la carpeta: cada servicio que encontró, más un manifiesto que nombra cada uno, su montaje y sus archivos. Sirve el resultado con mockzilla mocks.mockz, o entrégaselo a alguien que lo haga.
--output FILE, o-o, escribe el archivo en otro lado.--namey--descriptionvan al manifiesto.--min-versionregistra la versión mínima de la CLI que puede cargar el archivo.--skip-gitdeja afuera el remoto, la ref y el commit de git, que se embeben siempre que la carpeta esté dentro de un árbol de trabajo de git.
Este es el archivo que la GitHub Action empaqueta y sube en cada push.
Consulta GitHub Action.
Los proyectos de codegen corren solos
Un proyecto de codegen compila su propio servidor. go build produce un binario y ese binario sirve el proyecto, así que la CLI no participa en correrlo. Apuntar mockzilla a la carpeta del proyecto la lee como specs.
Consulta Simulaciones codegen.
Correr una simulación de tu cuenta
Una simulación que armaste en la app corre en local sobre el mismo motor. Apunta la CLI a su enlace para compartir:
mockzilla https://mockz.io/fxygibahSu archivo .mockz funciona igual, directo desde el disco y sin nada de red. La vista Correr en local de la simulación escribe los dos comandos por ti, completados con su propio enlace.
Consulta Correr una simulación en local.
Versión y ayuda
mockzilla --version
mockzilla --help
mockzilla simplify --helpCada subcomando trae su propio --help con los flags de arriba y sus valores por defecto.