En Pasarela de sincronización Couchbase es uno de los componentes principales de Couchbase Mobile. A alto nivel, es responsable de enrutar y sincronizar de forma segura los datos entre los clientes web y móviles y el servidor Couchbase. Soporta una API REST que permite a los clientes realizar admin y no administrativo en la base de datos de Couchbase Server. Si estás desarrollando una aplicación cliente que interactúa con Sync Gateway, entonces necesitarás una forma conveniente de explorar la API y probarla, probablemente incluso simulando todas las llamadas a Sync Gateway. Para ello podemos utilizar Postman.

Cartero es una herramienta de prueba, desarrollo y documentación de API. Sync Gateway admite colecciones Postman correspondientes a su interfaz Admin y Public REST. En una versión anterior Correo electrónico:...cubrimos los aspectos básicos de cómo comenzar a usar Postman para las pruebas de la API de Sync Gateway. Ha habido mejoras sustanciales en las Colecciones de Postman de Sync Gateway desde entonces y, por supuesto, ha habido cambios en el propio Postman. En este artículo se analizan las mejoras introducidas en las definiciones de las colecciones. También incluye un vídeo de demostración.

Todo lo tratado en este post utiliza la versión comunitaria gratuita de la herramienta Postman.

Fondo

El stack de Couchbase Mobile está compuesto por Couchbase Server, Couchbase Sync Gateway y Couchbase Lite embedded Database. Este post asume que estás familiarizado con el stack de Couchbase Mobile. Si quieres leer más sobre Couchbase, puedes consultar la web recursos en nuestro sitio web de Couchbase.
El post también asume que tienes un conocimiento básico del uso de Postman. Si desea un repaso, consulte este fuera.

TL;DR

Si lo prefieres, puedes ver el siguiente vídeo que es una demostración de todo lo que se comenta en esta entrada del blog.

Instalación de Postman

Antes de continuar, debe descargar e instalar la aplicación Herramienta Postman. También tendrá que crear una cuenta gratuita.

Importación de la colección Postman de Sync Gateway

Empezar a usar Postman con Sync Gateway es muy fácil.

  • En primer lugar, descargue las colecciones postman de Sync Gateway del repositorio de GitHub

  • Siga las instrucciones detalladas en este puesto introductorio para importar las colecciones y archivos de entorno a Postman. Al final de la misma, su configuración debe ser algo como esto.

Ejecución de solicitudes simuladas

Puede probar la API de Sync Gateway con Postman sin siquiera tener un Sync Gateway ejecutándose en su entorno. Tenga en cuenta que Postman impone límites a la cantidad de llamadas simuladas que puede realizar con la cuenta gratuita. Así que si esto es algo que usted planea utilizar ampliamente, puede que tenga que ir a la versión Pro de la herramienta.

Crear una pasarela de sincronización simulada

  • Siga las instrucciones aquí para añadir un servidor simulado. Crear un servidor simulado es literalmente cuestión de un clic.
  • Examine las variables de entorno de Sync Gateway Postman. La variable de entorno "adminurl"apunta al punto final de la URL de administración y "dirección pública"apunta al punto final de la URL pública. Actualice estas variables para que apunten al servidor simulado recién creado
  • Ya está. Ya está listo para ejecutar su petición contra su servidor simulado

Ejecutar una petición con Postman contra un servidor de pasarela de sincronización simulado es un ejemplo

¿Cómo se generan las respuestas simuladas de Postman y cómo almacena Postman las respuestas en caché?

La colección Sync Gateway incluye respuestas predefinidas que puede localizar en la carpeta "examples". Esta respuesta se devuelve cuando se realizan pruebas con el servidor simulado. Puede utilizar las respuestas de ejemplo de la carpeta "examples" como referencia incluso sin ejecutar las solicitudes.

Pruebas del cartero

Cada solicitud tiene un script de prueba asociado. Las pruebas son bastante sencillas y en su mayoría comprueban el código de estado HTTP. Puede ampliar estas pruebas para realizar un procesamiento más exhaustivo de la respuesta.

Pruebas con una instancia de Sync Gateway

Aunque las pruebas simuladas son excelentes para explorar la API y durante las primeras fases de desarrollo, no son equivalentes a las pruebas con el sistema real.

  • Si aún no lo ha hecho, siga adelante y descargue la instancia de Sync Gateway y/o Couchbase Server
    • Siga las instrucciones aquí para descargar e instalar Sync Gateway. Si quieres persistir tus datos en Couchbase Server, entonces sigue las instrucciones en este inicio rápido guía para instalar Couchbase Server.
    • Si prefiere utilizar Docker, puede seguir las instrucciones aquí para empezar con Couchbase Mobile usando Docker.
  • Hay una muestra archivo sync-gateway-config que está disponible en el mismo repositorio de GitHub de Collections que ha extraído anteriormente. Los valores de configuración especificados en el archivo config de ejemplo corresponden a las variables de entorno predeterminadas. Por lo tanto, si desea utilizar los valores predeterminados en el archivo de entorno, puede iniciar la puerta de enlace de sincronización con el ejemplo archivo sync-gateway-config.
  • Actualice el "adminurl" y "dirección pública"para que apunten a los puntos finales admin y public de la implementación de la puerta de enlace de sincronización.
  • Si ha iniciado su Sync Gateway con un archivo de configuración distinto del archivo ejemplo de sync-gateway-config además de actualizar el archivo "adminurl" y "dirección pública"asegúrese de actualizar las demás variables de entorno relevantes para que coincidan con su configuración. Algunas de ellas son "db", "nombre", "contraseña" y "doc"

Eso es todo - ¡estás listo para probar contra un sistema en vivo!

Encadenamiento de solicitudes

Una de las cosas más interesantes que soportamos en nuestras colecciones es el encadenamiento de peticiones, es decir, la salida de una petición puede utilizarse como entrada para una petición posterior. Esto se consigue actualizando dinámicamente las variables de entorno con los resultados de la ejecución de las peticiones sin necesidad de editarlas manualmente.

Por ejemplo,
- Cuando se crea un documento, se crea una nueva revisión del documento y el revisionID de la revisión recién creada se devuelve en la respuesta en el campo "_rev" campo. Tenemos una prueba que extrae el "_rev" y establece la variable de entorno "rev

using postman to create an api test scenario
  • La solicitud posterior para actualizar el documento requiere que se especifique el revisionID en la solicitud. Esto se obtiene de la variable de entorno "rev" que se rellenó como resultado de la solicitud de ejecución anterior.
using postman to create an api test scenario

Fragmentos de código Postman cliente

Otra característica útil en el uso del cliente Postman es el "Generador de fragmentos de código". Puede generar fragmentos de código correspondientes a las solicitudes en uno de los muchos lenguajes soportados

using postman to create an api test scenario

Generador de documentación Postman

La documentación de la API en nuestro Portal para desarrolladores de Couchbase debe considerarse la fuente de la verdad.

No obstante, si desea ver una "versión web" de la documentación generada por Postman correspondiente a su colección. Puede hacerlo seleccionando la opción "ver en web". Tenga en cuenta que su cliente postman local debe estar "sincronizado" con su cuenta postman en línea.
using postman to create an api test scenario

La documentación generada tendría un aspecto similar a éste. Necesitarás una cuenta en Postman para poder ver la documentación.
using postman to create an api test scenario

Próximos pasos

Si observa algún problema en las definiciones de las colecciones o si desea mejorarlas con pruebas adicionales, envíe una solicitud de extracción al repositorio de Github.

Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo en Twitter @rajagp o envíeme un correo electrónico priya.rajagopal@couchbase.com. En Foros de Couchbase son otro buen lugar para plantear preguntas.

Autor

Publicado por Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

Dejar una respuesta