У меня есть служба A-application
, которая нуждается в сквозном тестировании. Этот сервис подключается к rabbitmq.
Я запускаю кролика с библиотекой testcontainers
. Testcontainers генерирует случайный rabbitmq-порт, который я передаю на A-application
:
public static GenericContainer myBApplicationContainer = new GenericContainer<>("B-application-docker-docker-image");
@Before
public void init() {
rabbitContainer.start();
java.util.Properties props = MyApp.getProperties();
props.setProperty("rabbitmq.port", rabbitContainer.getAmqpPort().toString());
MyApp.main(new String[0]);
myBApplicationContainer.start();
}
Но мой A-application
должен связываться с другим сервисом B-application
, и связь между ними происходит на rabbitmq. Это еще один B-application
Я также запускаю тестовые контейнеры из пользовательского образа B-application-docker-docker-image
.
Но я не знаю, как перейти к значению B-application
rabbit.gatAmqpPort()
, потому что B-application
пытается подключиться к кролику, указанному в его внутреннем файле конфигурации внутри скомпилированного jar-файла в B-application-docker-docker-image