Lauris Jullien (@herrbot_DE)
Soy ingeniero de backend en @Yelp en Hamburgo desde hace 3 años. Antes de eso, trabajé con robots en @Aldebaran Robotics. Y antes de eso, tenía mi propia startup :) Me gustan las APIs limpias, todo lo que se puede hacer con datos y, como buen francés, el vino.
Resumen
Etiquetas: caso de uso python web
Puede ser difícil probar código que depende de servicios externos. A menudo, dichos servicios son simulados, pero con el tiempo, puede ser un desafío mantener estas simulaciones actualizadas. Las falsificaciones verificadas pueden resolver este problema, y veremos cómo configurarlas utilizando OpenAPI y python.
Descripción
Cuando tu código depende de un servicio externo (de terceros), probarlo puede ser un desafío. Puede ser costoso, lento o poco fiable llamar a ese servicio en las pruebas. Un enfoque clásico es simular dicho servicio o sus llamadas de red. Pero entonces el desafío se convierte en mantener las simulaciones actualizadas con los servicios de terceros. Usar falsificaciones verificadas nos permite reemplazar un servicio mientras garantizamos que se mantenga actualizado. Esto se puede lograr de diferentes maneras: utilizando grabaciones de red recientes (por ejemplo, vcrpy), ejecutando un conjunto de pruebas contra la simulación y el servicio real para comparar los resultados, o confiando en un contrato de API como OpenAPI o avro.
OpenAPI* es una especificación que documenta cómo funciona una API de servicio y la hace cumplir validando las solicitudes y respuestas para el servicio. Luego podemos verificar las simulaciones contra la especificación de OpenAPI para asegurarnos de que estén actualizadas.
En esta charla, explicaré cómo configurar tales falsificaciones verificadas con OpenAPI y presentaré una nueva biblioteca de código abierto, pyramid_mock_server. Aquí están los 3 enfoques principales:
Breve introducción a OpenAPI y cómo usarlo con bravado, el cliente OpenAPI para python
Cómo configurar Falsificaciones Verificadas: utilizando pyramid_mock_server
Uso en @Yelp: uso de simulaciones y OpenAPI para pruebas unitarias, pruebas de aceptación y documentación
La charla se centra en OpenAPI, pero los aprendizajes y la metodología se pueden extender a cualquier otro lenguaje de especificación de API (o frameworks web de python).
* La iniciativa OpenAPI es un consorcio interproveedor centrado en crear, evolucionar y promover un formato de descripción neutral para APIs. Como una estructura de gobernanza abierta bajo la Fundación Linux, sus miembros incluyen a Google, IBM, Atlassian y PayPal.
Grabado en PyCon.DE 2017 Karlsruhe: pycon.de
Edición de video: Sebastian Neubauer & Andrei Dan
Herramientas: Blender, Avidemux & Sonic Pi