#aws-api-gateway #amazon-kinesis #spring-cloud-contract
#aws-api-gateway #amazon-kinesis #spring-cloud-contract
Вопрос:
Я хочу выполнить контрактное тестирование в REST API (используя AWS API Gateway), который передает события в Kinesis. Я изучал Spring Cloud Contract, чтобы, возможно, выполнить этот тип контрактного тестирования. Однако я не могу найти в Интернете ничего, что использует Spring Cloud Contract для выполнения тестирования (в качестве сервера / производителя Spring Cloud Contract в данном случае Kinesis) такого типа. Возможно ли это вообще и / или это вообще имеет смысл с использованием Spring Cloud Contract? Должен ли я использовать другой инструмент для выполнения контрактного тестирования в AWS API Gateway / Kinesis?
Ответ №1:
Это очень хороший вопрос. Да, вы можете выполнить это с помощью интеграции с WireMock. Поскольку вы не являетесь владельцем api этого приложения, вы не можете заставить их создавать определения контрактов, заглушки и т.д. Однако вы можете настроить тесты, которые будут вызывать реальный api шлюза aws и записывать пару запрос / ответ в виде заглушки wiremock. Здесь вы можете найти такой пример для отключения API компании Stripehttps://github.com/spring-cloud-samples/the-legacy-app/tree/master/stubs_with_proxy
Комментарии:
1. Я приношу извинения за любую путаницу здесь и за неясность. Однако на самом деле я был бы тем, кто создает API приложения и обрабатывает запросы API (т. е. не клиент API gateway). В условиях контракта Spring Cloud это означало бы, что я буду продюсером. В этом случае API будет обслуживаться с помощью AWS API Gateway. AWS API Gateway будет прокси для передачи событий в Kinesis. Надеюсь, это прояснит мой вопрос — и я надеюсь, что у вас будет ответ для тестирования на стороне производителя Spring Cloud Contract, учитывая использование AWS API Gateway и Kinesis.