Модульное тестирование WSO2 ESB
Мы разработали прокси-сервис в WSO2 ESB, который является оркестратором и вызывает несколько сервисов, объединяющих ответ.
Как я могу проверить каждый отдельный шаг (или посредник) потока прокси и как система реагирует на каждую возможную ситуацию (например, Успех, Сбой, Медленное время отклика...)?
Мы пытаемся смоделировать поведение каждой службы, вызываемой прокси-сервером (с Wiremock), для каждого шага, но мы не можем динамически изменять конечные точки (или порты), указанные каждым вызовом.
Пример:
- Реальный сервис прослушивает порт 8280
- Wiremock прослушивает порт 8281
- Нам нужно динамически изменить конечную точку в Прокси, чтобы она вызывала службу Wiremock (8281) вместо реальной (8280)
Если есть другие способы тестирования, я буду рад изучить различные решения...
2 ответа
Я не могу правильно ответить на ваш вопрос... разве вы не указали в своей прокси-службе URL-адрес конечной точки с портом 8281...??
Наконец-то нашел решение проблемы.
Используя конечные точки реестра, вы можете получить ресурсы из реестра, изменить их и обновить их.
Например, вы можете сделать что-то вроде:
AutomationContext esbContext = new AutomationContext("ESB", TestUserMode.SUPER_TENANT_ADMIN);
String esbSession = esbContext.login();
ResourceAdminServiceClient resourceClient = new ResourceAdminServiceClient(esbContext.getContextUrls().getBackEndUrl(),
esbSession);
String endpoint = resourceClient.getTextContent("/_system/governance/endpoints/HelloService.xml")
.replace(":8280", String.format(":%s", port));
resourceClient.updateTextContent("/_system/governance/endpoints/HelloService.xml", endpoint);