Con este tutorial, el estudiante estará en capacidad de simular una API utilizando la herramienta Mock Server de Postman. Esto le permitirá adelantar labores de desarrollo sin necesidad de tener un Back implementado en su totalidad y/o sin necesidad de tenerlo desplegado en todo momento.
Para realizar este taller Ud. debe:
Antes de crear un Mock Server para simular la ejecución de estos requests, es necesario indicar cuales son las peticiones que se desean simular para el ejercicio. Para esto, dirigirse a la opción de "Nuevo" en Postman:
Luego, seleccionamos la opción de Colección como aparece en la siguiente imagen:
Posteriormente, creamos los requests que necesitemos simular con el Mock Server.
Para esto, debemos señalar explícitamente el endpoint de la url que corresponda a cada servicio. Por ejemplo, en la siguiente colección "Author Tests" tenemos los requests:
Es importante destacar que para que la herramienta funcione adecuadamente se debe garantizar que cada URL indicada en los requests sea diferente a las demás. Lo anterior se debe a que la funcionalidad de Mock Server solo permite una respuesta única por endpoint señalado. Luego, si el endpoint incluye una variable (por ejemplo, un id), esta debe ser señalada explícitamente en el texto. Por ejemplo, se incluye el siguiente endpoint:
En el caso anterior, se puede ver que se está solicitando la información del autor con id igual a 1. Vea que en este request se incluye explícitamente el número 1 y no se hace uso de variables dinámicas de Postman, dado que el Mock Server solo admite respuestas estáticas para cada endpoint.
Ahora, nuestro siguiente paso será definir cuál va a ser la respuesta que vamos a simular con el Mock Server para cada request de la colección. En este tutorial, como estamos usando un Back de ejemplo, vamos a definir esta respuesta directamente como la respuesta otorgada por el Back. Sin embargo, para cada request se puede crear directamente un example con una respuesta personalizada.
Para hacer lo anterior, vamos a definir "examples" para cada request. A grandes rasgos, un "example", como su nombre lo indica, es una respuesta de ejemplo asociada directamente con un request que se toma de referencia para simular lo que sería una respuesta real de la API.
Como lo mencionamos, hay dos formas de crear una respuesta "example". Si ya tenemos la funcionalidad desarrollada en el back, podemos envíar el request y guardar la respuesta como un ejemplo en la opción señalada en la siguiente imagen:
De lo contrario, también es posible crear el ejemplo directamente para cada request.
Si decide crear el ejemplo sin una respuesta de base, es importante resaltar que debe determinar también la respuesta de dicho "example" en el body y el status code esperado como se muestra a continuación:
Después de crear un example para cada request de la colección, procedemos a crear el Mock Server que nos permitirá simular las respuestas indicadas en los "examples". Para esto, debemos dirigirnos a la opción "Mock collection" encontrada la colección:
Esta opción nos redirige a una pantalla de creación en la que debemos seleccionar un nombre para el Mock Server y un environment en el que se almacenarán las variables que se podrían llegar a necesitar en la ejecución.
Con lo anterior, ya tendremos creado nuestro Mock Server. El último paso restante consiste en enlazar este servidor de pruebas con las requests de nuestra colección. Para esto, en la pantalla que le sigue a la anterior, debemos guardar la URL del Server con la opción "Copy Mock URL".
Finalmente, debemos reemplazar la url base de cada endpoint con la url dada por el mock server. Por ejemplo, el siguiente request:
debe quedar como se ve a continuación:
Vea entonces que es necesario crear un Mock Server por cada colección de requests que desee agrupar en postman y, para cada uno de ellos, se va a tener una URL base correspondiente.
Hemos concluido la construcción de un Mock Server de prueba. Para ver que se encuentre funcionando correctamente, basta con ejecutar el request y verificar que su respuesta coincide con el "example" asociado. Por ejemplo, como vemos a continuación, la respuesta que se obtiene al ejecutar el siguiente request
coincide con la respuesta indicada en su "example" asociado:
Estos endpoints que hemos creado en el tutorial pueden ser utilizados tanto dentro como fuera de postman. Por lo tanto, si coloca el endpoint en su navegador, debe aparecer la respuesta en pantalla: