Lauris Jullien (@herrbot_DE)
Je suis ingénieur backend chez @Yelp à Hambourg depuis 3 ans. Avant cela, je travaillais avec des robots chez @Aldebaran Robotics. Et avant cela, j'avais ma propre startup :) J'aime les APIs propres, tout ce que l'on peut faire avec des données, et comme un bon Français, le vin.
Résumé
Tags : cas d'utilisation python web
Il peut être difficile de tester du code qui dépend de services externes. Souvent, ces services sont simulés, mais avec le temps, il peut être difficile de maintenir ces simulations à jour. Les fakes vérifiés peuvent résoudre ce problème, et nous verrons comment les mettre en place en utilisant OpenAPI et python.
Description
Lorsque votre code dépend d'un service externe (tiers), le tester peut être un défi. Il peut être coûteux, lent ou peu fiable d'appeler ce service dans les tests. Une approche classique consiste à simuler ce service ou ses appels réseau. Mais ensuite, le défi devient de maintenir les simulations à jour avec les services tiers. L'utilisation de fakes vérifiés nous permet de remplacer un service tout en garantissant qu'il reste à jour. Cela peut être réalisé de différentes manières : en utilisant des enregistrements réseau récents (par exemple, vcrpy), en exécutant une suite de tests contre la simulation et le service réel pour comparer les résultats, ou en s'appuyant sur un contrat API comme OpenAPI ou avro.
OpenAPI* est une spécification qui documente le fonctionnement d'une API de service et l'impose en validant les requêtes et les réponses pour le service. Nous pouvons ensuite vérifier les simulations par rapport à la spécification OpenAPI pour nous assurer qu'elles sont à jour.
Dans cette présentation, j'expliquerai comment mettre en place de tels fakes vérifiés avec OpenAPI, et présenterai une nouvelle bibliothèque open-source, pyramid_mock_server. Voici les 3 principaux axes :
Introduction rapide à OpenAPI et comment l'utiliser avec bravado, le client OpenAPI pour python
Comment mettre en place des Fakes Vérifiés : en utilisant pyramid_mock_server
Utilisation chez @Yelp : utilisation de fakes et OpenAPI pour les tests unitaires, les tests d'acceptation et la documentation
La présentation se concentre sur OpenAPI, mais les enseignements et la méthodologie peuvent être étendus à d'autres langages de spécification API (ou frameworks web python).
* L'initiative OpenAPI est un consortium inter-entreprises axé sur la création, l'évolution et la promotion d'un format de description neutre pour les APIs. En tant que structure de gouvernance ouverte sous la Linux Foundation, ses membres incluent Google, IBM, Atlassian et PayPal.
Enregistré à PyCon.DE 2017 Karlsruhe : pycon.de
Montage vidéo : Sebastian Neubauer & Andrei Dan
Outils : Blender, Avidemux & Sonic Pi