public async Task IsWorkerReady_Returns_True() { var handlerMock = new Mock <HttpMessageHandler>(MockBehavior.Strict); handlerMock.Protected().Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Callback <HttpRequestMessage, CancellationToken>((request, token) => RequestHandler(request)) .ReturnsAsync(HttpWorkerTestUtilities.GetValidHttpResponseMessage()); _httpClient = new HttpClient(handlerMock.Object); _defaultHttpWorkerService = new DefaultHttpWorkerService(_httpClient, new OptionsWrapper <HttpWorkerOptions>(_httpWorkerOptions), _testLogger, _testEnvironment, new OptionsWrapper <ScriptJobHostOptions>(_scriptJobHostOptions)); bool workerReady = await _defaultHttpWorkerService.IsWorkerReady(CancellationToken.None); Assert.True(workerReady); }
public async Task IsWorkerReady_Returns_False() { var handlerMock = new Mock <HttpMessageHandler>(MockBehavior.Strict); handlerMock.Protected().Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Callback <HttpRequestMessage, CancellationToken>((request, token) => RequestHandler(request)) .Throws(new HttpRequestException("Invalid http worker service", new SocketException())); _httpClient = new HttpClient(handlerMock.Object); _defaultHttpWorkerService = new DefaultHttpWorkerService(_httpClient, new OptionsWrapper <HttpWorkerOptions>(_httpWorkerOptions), _testLogger, _testEnvironment, new OptionsWrapper <ScriptJobHostOptions>(_scriptJobHostOptions)); bool workerReady = await _defaultHttpWorkerService.IsWorkerReady(CancellationToken.None); Assert.False(workerReady); var testLogs = _testLogger.GetLogMessages(); Assert.True(testLogs.All(m => m.FormattedMessage.Contains("Invalid http worker service"))); }