Resumen:
Testing de un WS Soap.
Descripción:
En el post anterior hice un ejemplo usando Spock para testear una librería. Pero, para las pruebas de integración, se usaba el programa SoapUI
Quize hacer el intento de escribir un test que consuma dicho WS. Luego de googlear; me encontré con dos librerías para escribir el cliente Soap. Son: GroovyWS y Reficio (soap-client). Decidí emplear el segundo, aunque tiene muchas dependencias.
Aprovecharé para mostrar un poco del uso de la famosa librería j8583, usando código Groovy. Se construye un mensaje "100" para consultar saldos de una tarjeta.
En este ejemplo usamos el método setupSpec() para realizar la comunicación con el servicio. Para ello, indicamos la ruta del WSDL y el método a invocar. Con esto, obtendremos la estructura de la petición.
Luego, generamos el mensaje. Esta petición es un XML, y lo construimos con el XmlSlurper.
Invocamos mediante el método client.post. Dado que es otro XML, parseamos la respuesta y recuperamos la etiqueta return.
Finalmente, evaluamos la respuesta.
Código Fuente:
https://github.com/edgargs/wsautorizador-test.git
Bibliografía:
http://projects.reficio.org/soap-ws/1.0.0-SNAPSHOT/manual.html
Configuración:
Groovy 2.4.13
Spock 1.0