public function testUpdateFetcherNoFallback() { // First, try without the HTTP fallback setting, and HTTPS mocked to fail.
$settings =
new Settings([]);
$this->
mockClient( new Response('500',
[], 'HTTPS failed'
),
);
$update_fetcher =
new UpdateFetcher($this->mockConfigFactory,
$this->mockHttpClient,
$settings,
$this->logger
);
$data =
$update_fetcher->
fetchProjectData($this->testProject, ''
);
// There should only be one request / response pair.
$this->
assertCount(1,
$this->history
);
$request =
$this->history
[0
]['request'
];
$this->
assertNotEmpty($request);
// It should have only been an HTTPS request.
$this->
assertEquals('https',
$request->
getUri()->
getScheme());
// And it should have failed.
$response =
$this->history
[0
]['response'
];
$this->
assertEquals(500,
$response->
getStatusCode());
$this->
assertEmpty($data);