Невозможно получить PACT из Pact Brocker в ядре dotnet при проверке стороны провайдера

Я реализовал 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: в `initialize '

C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 879: в `open '

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/timeout.rb:74: в `timeout '

C: /POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb: 878: в `connect '

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: в `start'

Может кто-нибудь, пожалуйста, помогите исправить эту ошибку? Сервер брокера PACT не находится под моим контролем. Я получил его с сайта http://pact.dius.com.au/.

1 ответ

Получил ответ. Я был в прокси-среде моего офиса. Это прекрасно работает в моем доме. Также мне нужно нажать https (порт 443), а не http (порт 80).

Другие вопросы по тегам