Reverse Engineering gRPC: генерируем gRPC-клиентов из воздуха

Тестирование gRPC-сервисов на Python — головная боль для QA-инженеров. Получить .proto-файлы порой невозможно из-за отсутствия доступа к репозиторию сервиса. Официальный grpcio-tools генерирует неудобных клиентов, а популярные альтернативы вроде betterproto работают медленно и ломаются на сложных схемах с множеством .proto-файлов.

Валерий покажет, как решить все эти проблемы элегантно и автоматизированно. Расскажет, как восстановить полную схему gRPC-сервиса без доступа к репозиторию, используя только gRPC-рефлексию. Поделится опытом создания собственного плагина для protoc, который генерирует дружелюбных и удобных Python-клиентов.

Центральная часть выступления — демонстрация разработанной спикером библиотеки PBReflect: open source-инструмента, который автоматизирует весь workflow от восстановления схемы до генерации готового к использованию клиента. 

Результат — никаких больше мучений с .proto-файлами, только эффективное тестирование gRPC API.

Спикер