Crear mock server para servicios Rest con SOAP UI.
Buenas de nuevo. En este artículo os voy a explicar cómo crear rápidamente servicios mock REST en vuestra máquina local.
Y diréis para que os cuento esta historia, pues es bien fácil, los que lleváis varios años trabajando con integraciones sabréis de sobra que desde que se empieza a diseñar una integración hasta que de verdad se conecta con el servicio al que hay que llamar, puede pasar bastante tiempo.
Los desarrolladores MuleSoft, tienen que desarrollar muchas veces sin poder llamar a los servicios backend definitivos porque simplemente no están creados.
Aquí lo importante es tener claramente diseñado el contrato de integración entre las partes, es decir que datos tienen que entrar y salir de la API de Mule, y lo mismo con los I/O de las llamadas a los sistemas backend de los que necesitamos obtener la info, necesaria.
Para ello os voy a enseñar una forma muy sencilla de crear servicios mock en vuestra máquina local para poder crear en cuestión de minutos servicios rest que simulen a los servicios que vamos a llamar en un futuro cuando todo esté desarrollado.
Esta tarea la podemos hacer con varias herramientas como Postman, pero a mi me resulta muchisimo mas facil e intuitivo crearlo con el viejo Soap UI.
1- Lo primero que tenemos que hacer el abrir nuestro Soap UI y crear un proyecto vacío
2- Lo siguiente es crear un New Rest MockService, para lo que tenemos que pulsar botón derecho sobre el proyecto que hemos creado y seleccionar la opción.
Finalmente nos aparece una ventana modal para seleccionar el nombre del MockService, y pulsamos aceptar.
3- Pulsamos dos veces sobre nuestro Rest MockService y nos aparecerá una ventana de configuración donde podremos arrancar nuestro servicio y configurar el puerto por el que queremos que arranque el mockService
Yo he seleccionado que se levante un servicio Rest mock en la siguiente URL http://localhost:8080/ pero todavia no hemos creado la operacion rest como tal, esto es solo para crear el base path.
4.- Ahora pasamos a crear la operacion Rest, para ello nos situamos sobre el elemento Rest MockService 1 y pulsamos boton derecho para seleccionar “Add new mock action”.
Aquí seleccionaremos el tipo de operación Rest que queremos (GET, POST, PUT, DELETE,…) y el path que va a tener nuestra operación y que se sumará al base path que tenemos ya configurado.
De esta forma hemos creado la operación de tipo POST en la URL http://localhost:8080/test
5.- Finalmente vamos a rellenar la respuesta que queremos que tenga nuestra API mock. Esto es bien sencillo solo tendremos que pulsar dos veces sobre el action que hemos creado dentro del REST MockService 1 y nos aparecerá la siguiente pantalla.
Dentro de la pantalla pulsamos boton derecho y nos aparece el Menu “New MockResponse”, finalmente esto nos abre una ultima pantalla donde podremos rellenar la response que queremos que devuelva nuestro servicio Rest.
En esta pantalla seleccionamos que HTTP Status queremos que devuelva nuestro servicio, el tipo de respuesta Content Media Type que en nuestro caso va a ser application/json y la respuesta en sí.
Ahora solo tendremos que pulsar sobre “REST MockService 1” dos veces y pulsar sobre el Play verde para que se haga la magia.
Si utilizamos postman para llamar a la URL http://localhost:8080/test podemos ver el resultado
Nos vemos en el siguiente tutorial.