Я пытаюсь проверить приложение для пружинного загрузки с помощью DAPR. Для моего теста настройка я хочу запустить DAPR TestContainer и иметь Conmponent, который ссылается на TestContainer WireMock на загрязняющие вызовы HTTP. < /P>
class TestcontainersConfiguration {
private static final Network network = Network.newNetwork();
@Bean
@ServiceConnection
public DaprContainer daprContainer(WireMockContainer wireMockContainer) {
// Get the network alias instead of the base URL
String wireServiceUrl = "http://" + wireMockContainer.getNetworkAliases().getFirst() + ":" + wireMockContainer.getPort();
DaprContainer dapr = new DaprContainer("daprio/daprd:latest")
.withAppName("local-dapr-app")
.withNetwork(network)
.withComponent(new Component("warehouse", "http", "v1", Collections.singletonList(new MetadataEntry("url", wireServiceUrl))))
.withAppPort(8080)
.withAppChannelAddress("host.testcontainers.internal");
return dapr;
}
@Bean
WireMockContainer wireMockContainer() {
WireMockContainer wireMockContainer = new WireMockContainer("wiremock/wiremock:3.12.0-1")
.withMappingFromResource("warehouse-service-stubs.json")
.withNetwork(network);
wireMockContainer.start();
return wireMockContainer;
}
@Bean
public DynamicPropertyRegistrar wireMockProperties(WireMockContainer wireMockContainer, DaprContainer dapr) {
return registry -> {
registry.add("DAPR_HTTP_ENDPOINT", wireMockContainer::getBaseUrl);
registry.add("dapr.grpc.port", () -> dapr.getMappedPort(50001));
registry.add("dapr.http.port", () -> dapr.getMappedPort(3500));
};
}
}
< /code>
Если я запускаю настройку с линии .withcomponent, проверка здоровья контейнера DAPR не выполняется. Если я удалю его, приложение не удается, потому что нет компонента с идентификатором «склад». Существует ли рабочая установка для загрязняющих вызовов HTTP в тестах с DAPR?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -dapr-test