Невозможно получить PACT от Pact Brocker в ядре dotnet при проверке стороны провайдера - PullRequest
0 голосов
/ 28 октября 2018

Я реализовал 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/.

1 Ответ

0 голосов
/ 31 октября 2018

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

...