Модульное тестирование 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);
Другие вопросы по тегам