Lauris Jullien (@herrbot_DE)
Sou engenheiro de backend @Yelp em Hamburgo há 3 anos. Antes disso, trabalhei com robôs @Aldebaran Robotics. E antes disso, estava tocando minha própria startup :) Gosto de APIs limpas, tudo que você pode fazer com dados e, como bom francês, vinho.
Resumo
Tags: caso de uso python web
Pode ser difícil testar código que depende de serviços externos. Muitas vezes, esses serviços são simulados, mas com o tempo, pode ser desafiador manter essas simulações atualizadas. Falsificações verificadas podem resolver esse problema, e veremos como configurá-las usando OpenAPI e python.
Descrição
Quando seu código depende de um serviço externo (de terceiros), testá-lo pode ser desafiador. Pode ser caro, lento ou não confiável chamar esse serviço nos testes. Uma abordagem clássica é simular esse serviço ou suas chamadas de rede. Mas então o desafio se torna manter as simulações atualizadas com os serviços de terceiros. Usar falsificações verificadas nos permite substituir um serviço enquanto garantimos que ele permaneça atualizado. Isso pode ser alcançado de diferentes maneiras: usando gravações de rede recentes (por exemplo, vcrpy), executando uma suíte de testes contra a simulação e o serviço real para comparar os resultados, ou dependendo de um contrato de API como OpenAPI ou avro.
OpenAPI* é uma especificação que documenta como uma API de serviço funciona e a impõe validando solicitações e respostas para o serviço. Podemos então verificar as simulações contra a especificação OpenAPI para garantir que estejam atualizadas.
Nesta palestra, explicarei como configurar tais falsificações verificadas com OpenAPI e apresentarei uma nova biblioteca de código aberto, pyramid_mock_server. Aqui estão os 3 principais focos:
Introdução rápida ao OpenAPI e como usá-lo com bravado, o cliente OpenAPI para python
Como configurar Falsificações Verificadas: usando pyramid_mock_server
Uso @Yelp: uso de simulações e OpenAPI para testes unitários, testes de aceitação e documentação
A palestra foca no OpenAPI, mas os aprendizados e a metodologia podem ser estendidos a qualquer outra linguagem de especificação de API (ou frameworks web em python).
* A iniciativa OpenAPI é um consórcio inter-vendor focado em criar, evoluir e promover um formato de descrição neutro em relação a fornecedores para APIs. Como uma estrutura de governança aberta sob a Linux Foundation, seus membros incluem Google, IBM, Atlassian e PayPal.
Gravado na PyCon.DE 2017 Karlsruhe: pycon.de
Edição de vídeo: Sebastian Neubauer & Andrei Dan
Ferramentas: Blender, Avidemux & Sonic Pi