Я реализовал PACT на стороне потребителя в ядре C # dotnet и смог опубликовать файл пакта * .json в PactBrocker, используя следующий код.
var pactPublisher = new PactPublisher("http://domain.pact.dius.com.au", new PactUriOptions("***", "***"));
pactPublisher.PublishToBroker($"..\pacts\userservice.api-event.api.json",
"1.0.2");
На стороне провайдера (снова в ядре C # dotnet), когда я пытаюсь проверить тот же самый опубликованный Pact, используя пример модульного теста (см. Код ниже):
[Fact]
public void EnsureEventApiHonoursPactWithConsumer()
{
//Arrange
// createing the "config" object
//Act / Assert
IPactVerifier pactVerifier = new PactVerifier(config);
pactVerifier
.ProviderState($"{_providerUri}/provider-states")
.ServiceProvider("Event.API", _providerUri)
.HonoursPactWith("UserService.API")
.PactUri("http://domain.pact.dius.com.au/pacts/provider/Event.API/consumer/UserService.API/version/1.0.2", new PactUriOptions("***", "***")).Verify();
}
Я получаю ниже ошибка при запуске этого модульного теста.
PactNet.PactFailureException: проверка Pact не удалась. Смотрите вывод
для деталей. Если вывод пуст, пожалуйста, укажите
config.Outputters (IOutput) для вашей тестовой среды, так как мы не могли
пиши в консоль. в PactNet.Core.PactCoreHost`1.Start () в
C: \ projects \ pact-net \ PactNet \ Core \ PactCoreHost.cs: строка 139
в Event.Test.EventApiTests.EnsureEventApiHonoursPactWithConsumer ()
в C: \ POC \ pact2 \ Event.Api \ Event.Test \ EventAPITests.cs: строка 55
Ошибка чтения файла из
http://domain.pact.dius.com.au/pacts/provider/Event.API/consumer/UserService.API/version/1.0.2
Невозможно установить соединение, поскольку целевой компьютер активно
отказался. - connect (2) для порта «domain.pact.dius.com.au» 80
C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 879: в
`Инициализации '
C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 879: в
`Открытым '
* * С тысячей двадцать восемь: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 879: в
`блок в соединении '
C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/timeout.rb: 74: в
`Тайм-аут"
C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 878: в
`Подключения '
C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 863: в
`Do_start '
C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 852: в
`Начать '
Может кто-нибудь, пожалуйста, помогите исправить эту ошибку? Сервер брокера PACT не находится под моим контролем. Я получил его с сайта http://pact.dius.com.au/.