Как использовать плагин #pact maven для проверки поставщика без порта

#java #maven #pact

Вопрос:

За https://docs.pact.io/implementation_guides/jvm/provider/maven/#2-define-the-pacts-between-your-consumers-and-providers : Требуются протокол, Хост и порт.

Мое приложение spring boot rest находится на kubernetes, у меня есть URL конечной точки, например https://fruitbasket.net/abc Если я не укажу port тег и не запущу mvn pact:verify ; тест завершится неудачно, и, похоже :8080 , будет добавлен во время выполнения

 https://fruitbasket.net/:8080/abc
 

По сути, испортил конечную точку запроса.

Пожалуйста, обратите внимание: наличие у меня фиксированного IP-адреса и порта нереально.

Как я могу указать URL-адрес хоста поставщика без порта?

конфигурация плагина:

 <plugin>
    <groupId>au.com.dius.pact.provider</groupId>
    <artifactId>maven</artifactId>
    <version>4.1.0</version>
    <configuration>
      <serviceProviders>
          <name>marketplace</name>
          <protocol>https</protocol>
          <host>fruitbasket.net</host>
        </serviceProvider>
      </serviceProviders>
    </configuration>
</plugin>
 

Ответ №1:

в моем текущем проекте мы используем эту конфигурацию

 <plugin>
   <groupId>au.com.dius.pact.provider</groupId>
   <artifactId>maven</artifactId>
   <version>4.2.0</version>
   <configuration>
      <pactBrokerUrl>https://mypactbroker</pactBrokerUrl>
      <trimSnapshot>true</trimSnapshot>
   </configuration>
</plugin>
 

с аннотацией @PactBroker(scheme = "https") к тестовому классу.

Комментарии:

1. Вам нужно инициализироваться ServiceProviders , чтобы выполнить mvn pact:verify , и мой вопрос связан с его port тегом Execution default-cli of goal au.com.dius.pact.provider:maven:4.1.13:verify failed: lateinit property serviceProviders has not been initialized .

2. ^^ Любые предложения/ рекомендации