У нас есть микросервис Spring Boot, использующий gcp Secret Manager, и мы столкнулись с проблемами со сбросом соединения и тайм-аутами. Обычно в наших тестах мы имитируем весь клиент, но здесь мы хотим сохранить клиент и имитировать службу gcp, чтобы проверить повторные попытки и обработку ошибок.
Мы используем клиент Google
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-secretmanager</artifactId>
<version>2.28.0</version>
</dependency>
Есть ли какие-нибудь хорошие инструменты или примеры, позволяющие это сделать? Это может быть gcp Secret Manager или любая другая служба GCP, имеющая клиент gRPC.





Я не Java-разработчик.
Это должно быть просто.
Клиентские библиотеки Google (Cloud) позволяют переопределить конечную точку службы (т. е. заменить secretmanager.googleapis.com:443 своей собственной реализацией, например localhost:50051).
Для Secret Manager вы затем настроите клиент так, чтобы он указывал на вашу реализацию:
Служба gRPC для Secret Manager определена здесь: SecretManagerService
У вас должна быть возможность выбрать подмножество методов, которые вы хотите протестировать, и реализовать их. Я не уверен насчет Java, но чтобы реализовать только часть сервиса, protoc следует (!?) сгенерировать UnimplementedServer метод, который можно использовать для блокировки избыточных методов на вашем сервере.
Спасибо, что показали, где найти прототип, попробую.