Tutoriales

Pruebe las interacciones de la API con Mockoon

La automatización de tareas repetibles es una parte fundamental de la rutina diaria de un administrador de sistemas. Cada vez más, esta automatización implica interactuar con API basadas en la web para orquestar actividades en dispositivos, proveedores de la nube o herramientas de software como servicio (SaaS). Debe probar a fondo su código, ya sea que esté escribiendo scripts de shell o libros de jugadas de Ansible que interactúan con los servicios web.

La capacidad de simular una API es una parte importante de este proceso de prueba. Una API simulada imita una API real, lo que le permite desarrollar y probar sus interacciones API. Si bien algunas herramientas y proveedores brindan entornos de prueba en vivo, poder simular una API localmente es útil para escenarios de prueba avanzados, como modificar el cuerpo de una respuesta o el código de estado HTTP. Si se encuentra en las etapas iniciales de desarrollo de su propia API, también desea una forma rápida de crear puntos finales antes de escribir el código.

Una opción para hacerlo es Mockoon. Mockoon es una maravillosa herramienta de código abierto con una rica interfaz de usuario para crear rápidamente API simuladas y ejecutarlas en su máquina local.

Instalar Mockoon

Puede instalar Mockoon en Windows, macOS y Linux a través de paquetes oficiales, incluidos los formatos AppImage y RPM. Una vez instalado Mockoon, la documentación oficial tiene un excelente tutorial para nuevos usuarios.

LEER  Cómo instalar MySQL Server 5.6 o 5.7 - Tutoriales de Debian

[ Learn your options by downloading this guide to installing applications on Linux. ]

Mockoon presenta una interfaz gráfica y una utilidad de interfaz de línea de comandos (CLI), y este artículo se centra en el uso de la interfaz gráfica.

Crea un ambiente

El primer paso cuando se trabaja con un nuevo proyecto en Mockoon es crear un nuevo entorno. Los entornos le permiten separar los puntos finales de su API en grupos lógicos. Cada entorno también puede ejecutarse en su propio puerto, lo que le permite simular varias API en el mismo host. Los entornos se guardan como archivos JSON y se pueden importar, exportar y guardar fácilmente junto con su código.

Se crea un entorno haciendo clic en el Nuevo ambiente icono que se muestra a continuación. Le pedirá una ubicación para guardar el archivo JSON del entorno. Una vez que haya creado el entorno, puede comenzar a agregarle rutas.

Haga clic en la imagen para ampliarla (Anthony Critelli, CC BY-SA 4.0)

Agregar una ruta de API básica

La mayoría de las interacciones de la API implican un ciclo simple de solicitud y respuesta, que a menudo devuelve un objeto JSON. Configurar una ruta API simple también es la forma más fácil de comenzar con Mockoon. Agregue rutas a un entorno haciendo clic en el + iniciar sesión en la interfaz.

Agregué una ruta en /api/v1/healthcheck que devuelve un 200 bien código de estado, como puede ver en el siguiente ejemplo. Este ejemplo también devuelve una respuesta JSON que contiene información sobre la comprobación de estado:

Haga clic en la imagen para ampliarla (Anthony Critelli, CC BY-SA 4.0)

Una vez que agrega la ruta e inicia el servidor (o reinicia, si ya se está ejecutando), se puede acceder al punto final:

Generar datos de respuesta aleatoria

Los valores estáticos en un cuerpo de respuesta API cubren muchos casos de uso de prueba básicos. Sin embargo, Mockoon también puede generar datos aleatorios en un cuerpo de respuesta para realizar pruebas más realistas. La biblioteca Faker.js genera datos aleatorios. Los valores generados aleatoriamente pueden incluirse en una plantilla dentro de un cuerpo de respuesta y devolverse al solicitante.

[ Free eBook: Manage your Linux environment for success. ]

En el siguiente ejemplo, he agregado otro punto final: /api/v1/hosts/:id. los :id indica que se trata de un parámetro de URL. El cuerpo de la respuesta devuelve un objeto JSON que contiene varios campos con datos generados aleatoriamente.

Haga clic en la imagen para ampliarla (Anthony Critelli, CC BY-SA 4.0)

Con esta configuración, cada llamada al extremo de la API revela un conjunto diferente de datos falsos:

Precaución: Es posible que la versión de Faker.js implementada por Mockoon no sea la más reciente, así que asegúrese siempre de consultar la versión correcta de la documentación de Faker al escribir plantillas.

Agregar autenticación y reglas

La mayoría de los puntos finales de API requieren autenticación, a menudo en forma de un encabezado HTTP que contiene un token de API. Asegurarse de que sus herramientas puedan manejar adecuadamente la falla de autenticación desde un punto final es importante para desarrollar una automatización sólida. Mockoon le permite definir reglas, como requisitos de encabezado, que puede usar para devolver diferentes respuestas.

Las reglas se definen en el Normas pestaña para una ruta. El siguiente ejemplo amplía el /api/v1/hosts/:id punto final con dos reglas. La primera regla (Respuesta 1) devuelve un HTTP 401 no autorizado. La primera regla se usa si ninguna otra regla coincide con una solicitud.

Haga clic en la imagen para ampliarla (Anthony Critelli, CC BY-SA 4.0)

La segunda regla (Respuesta 2) requiere que una solicitud contenga el encabezado HTTP X-Auth-Token con un valor igual a 40650a76. Cualquier solicitud que coincida con esta regla recibirá un 200 bien y la respuesta JSON del ejemplo anterior.

Haga clic en la imagen para ampliarla (Anthony Critelli, CC BY-SA 4.0)

Estas reglas hacen que cualquier solicitud que no contenga el valor correcto en el encabezado X-Auth-Token falle con un HTTP 401 no autorizado. Las solicitudes que tengan el token correcto seguirán recibiendo datos, como se muestra a continuación:

Este es un ejemplo básico del uso de reglas para controlar el comportamiento de respuesta en función de los atributos de la solicitud.

El motor de reglas de Mockoon es poderoso y capaz de crear escenarios muy avanzados, y se puede entender mejor revisando la documentación oficial.

Envolver

Mockoon proporciona una forma simple y poderosa de simular localmente las respuestas de la API. Este artículo muestra cómo crear respuestas básicas con datos estáticos y dinámicos y cómo se pueden aprovechar las reglas de respuesta para devolver diferentes respuestas según los atributos de la solicitud. Apenas toca la superficie de las capacidades de Mockoon, y lo animo a visitar el sitio web de Mockoon para obtener más información.

LEER  NumPy np.divide()

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba