WireMock: creación de apéndices con asignaciones JSON

WireMock es una herramienta para simular API basadas en HTTP que se ejecuta en las pruebas unitarias, en el escritorio o en el entorno de prueba. También podemos decir que es un simulador de APIs basadas en HTTP, considerado una herramienta de virtualización de servicios o un servidor simulado . Le permite mantenerse productivo cuando una API de la que depende no existe y no está completa o es costosa de acceder. Admite la prueba de casos Edge y modos de falla. Es rápido, por lo que reduce significativamente el tiempo de construcción. En términos simples, Wiremock es una configuración simulada para pruebas de integración . Se utiliza principalmente durante el desarrollo y, de manera más significativa, durante las pruebas de integración, mientras que un sistema o servicio se comunica con una o varias dependencias/servicios externos o internos.

Lea más sobre WireMock en el siguiente artículo: Introducción a WireMock

Una de las características más importantes de WireMock es Stubbing . Stubbing es la función central de WireMock y tiene la capacidad de devolver respuestas HTTP enlatadas para criterios de coincidencia de requests. Entonces, en este artículo, veremos cómo funciona Stubbing con asignaciones JSON en WireMock.

requisitos previos:

1. Stubbing básico para la solicitud GET

Abra su cartero y envíe una solicitud POST a la siguiente URL

http://<host>:<port>/__admin/mappings

con el siguiente cuerpo de solicitud JSON

{
    "request": {
        "method": "GET",
        "url": "put your url as per your requirement"
    },
    "response": {
        "status": 200,
        "body": "put your body here"
    }
}

Ejemplo

Por ejemplo, en este artículo nuestra URL es

URL:

http://localhost:8080/__admin/mappings

Y el cuerpo de la solicitud JSON es

Cuerpo de la solicitud:

{
    "request": {
        "url": "/gfg/user1",
        "method": "GET"
    },
    "response": {
        "status": 200,
        "body": "Welcome to GeeksforGeeks!"
    }
}

Haga clic en el botón Enviar ahora y en la Respuesta, puede ver el siguiente Cuerpo de respuesta con el código de estado 201 Creado.

Cuerpo de respuesta:

{
    "id": "609c2585-47f9-456e-b842-51db4411cbb7",
    "request": {
        "url": "/gfg/user1",
        "method": "GET"
    },
    "response": {
        "status": 200,
        "body": "Welcome to GeeksforGeeks!"
    },
    "uuid": "609c2585-47f9-456e-b842-51db4411cbb7"
}

Consulte la imagen a continuación si está atrapado en algún lugar

 

Ahora, probemos nuestra API Stubbed. Vuelva a abrir una nueva pestaña en Postman y envíe una solicitud GET a la siguiente URL

http://localhost:8080/gfg/user1

Y obtendrá la siguiente respuesta en el cuerpo de Respuesta.

Welcome to GeeksforGeeks!

Consulte la imagen a continuación si está atrapado en algún lugar

 

En caso de que haya alcanzado el punto final incorrecto, obtendrá una respuesta similar a esta con el código de error 404 Not Found. Supongamos que en lugar de llegar al punto final http://localhost:8080/gfg/user1, hemos llegado al siguiente punto final http://localhost:8080/gfg/user2, entonces obtendremos una respuesta como esta

 

Y también puede ver lo mismo en su consola WireMock

 

2. Stubbing básico para la solicitud POST

Similar a la solicitud GET, simplemente cambie los valores de «solicitud» -> «método» a «POST» en el cuerpo de la solicitud JSON y listo. Consulte el siguiente código JSON.

{
    "request": {
        "method": "GET",
        "url": "put your url as per your requirement"
    },
    "response": {
        "status": 200,
        "body": "put your body here"
    }
}

3. Envío de encabezados de respuesta junto con stub

También podemos enviar un encabezado de respuesta junto con el Stub. Consulte el siguiente código JSON para conocer la sintaxis. 

{
    "request": {
        "method": "GET",
        "url": "put your url as per your requirement"
    },
    "response": {
        "status": 200,
        "body": "put your body here",
        "headers": {
            "Content-Type": "text/plain",
            "Cache-Control": "no-cache"
        }
    }
}

4. Configuración del mensaje de estado de respuesta

Además del código de estado, también se puede configurar opcionalmente el mensaje de estado. Consulte el siguiente código JSON para conocer la sintaxis. 

{
    "request": {
        "method": "GET",
        "url": "put your url as per your requirement"
    },
    "response": {
        "status": 200,
        "statusMessage": "put your response status message here"
    }
}

5. Guardar talonarios

Las asignaciones de código auxiliar que se han creado se pueden conservar en el directorio de asignaciones mediante la publicación de una solicitud con un cuerpo vacío en la siguiente URL

http://<host>:<port>/__admin/mappings/save

6. Edición de talones

Las asignaciones de stub existentes se pueden modificar, siempre que se les haya asignado una ID. Para hacerlo envía una solicitud PUT a la siguiente URL

http://<host>:<port>/__admin/mappings/{id}

con el siguiente cuerpo de solicitud JSON

{
    "request": {
        "method": "GET",
        "url": "put your modified url as per your requirement"
    },
    "response": {
        "status": 200,
        "body": "put your modified body here"
    }
}

Consulte la imagen a continuación si está atrapado en algún lugar

 

7. Eliminación de talones

El código auxiliar se puede eliminar a través de la API HTTP mediante la solicitud DELETE a la siguiente URL

http://<host>:<port>/__admin/mappings/{id} 

donde id es el UUID de la asignación de código auxiliar, que se encuentra en su campo de id.

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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