public void Exception() { var handlerMock = new Mock <HttpMessageHandler>(); handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .Throws <HttpRequestException>() .Verifiable(); int pageIndex = 0; Mock <IHttpClientService> mockHttpClientService = new Mock <IHttpClientService>(); mockHttpClientService.Setup(s => s.CreateDefaultHttpClient()).Returns(() => new HttpClient(handlerMock.Object)); using Microsoft.Extensions.Logging.ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); IHttpClientService httpClientService = GetHttpClientService(HttpStatusCode.RequestTimeout, string.Empty); IImmunizationDelegate immsDelegate = new RestImmunizationDelegate(loggerFactory.CreateLogger <RestImmunizationDelegate>(), mockHttpClientService.Object, this.configuration); var actualResult = immsDelegate.GetImmunizations("token", pageIndex).Result; Assert.True(actualResult.ResultStatus == Common.Constants.ResultType.Error && actualResult.ResultError.ErrorCode == "testhostServer-CE-PHSA"); }
public void Ok() { ImmunizationViewResponse expectedViewResponse = new ImmunizationViewResponse() { Id = Guid.NewGuid(), SourceSystemId = "mockSourceSystemId", Name = "mockName", OccurrenceDateTime = DateTime.ParseExact("2020/09/10 17:16:10.809", "yyyy/MM/dd HH:mm:ss.fff", CultureInfo.InvariantCulture) }; PHSAResult <ImmunizationResponse> phsaResponse = new PHSAResult <ImmunizationResponse>() { Result = new ImmunizationResponse() { ImmunizationViews = new List <ImmunizationViewResponse>() { expectedViewResponse } } }; string json = JsonSerializer.Serialize(phsaResponse, null); using Microsoft.Extensions.Logging.ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); IHttpClientService httpClientService = GetHttpClientService(HttpStatusCode.OK, json); IImmunizationDelegate immsDelegate = new RestImmunizationDelegate(loggerFactory.CreateLogger <RestImmunizationDelegate>(), httpClientService, this.configuration); var actualResult = immsDelegate.GetImmunizations("token", 0).Result; Assert.Equal(Common.Constants.ResultType.Success, actualResult.ResultStatus); Assert.NotNull(actualResult.ResourcePayload); Assert.Equal(1, actualResult.ResourcePayload.Result.ImmunizationViews.Count()); }
public void NoContent() { int pageIndex = 0; RequestResult <IEnumerable <ImmunizationResponse> > expectedResult = new RequestResult <IEnumerable <ImmunizationResponse> >() { ResultStatus = Common.Constants.ResultType.Error, PageIndex = pageIndex, }; using Microsoft.Extensions.Logging.ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); IHttpClientService httpClientService = GetHttpClientService(HttpStatusCode.NoContent, string.Empty); IImmunizationDelegate immsDelegate = new RestImmunizationDelegate(loggerFactory.CreateLogger <RestImmunizationDelegate>(), httpClientService, this.configuration); var actualResult = immsDelegate.GetImmunizations("token", pageIndex).Result; Assert.True(actualResult.ResultStatus == Common.Constants.ResultType.Success && actualResult.ResourcePayload.Count() == 0); }
public void Default() { int pageIndex = 0; RequestResult <IEnumerable <ImmunizationResponse> > expectedResult = new RequestResult <IEnumerable <ImmunizationResponse> >() { ResultStatus = Common.Constants.ResultType.Error, ResultError = new RequestResultError() { ResultMessage = $"Unable to connect to Immunizations Endpoint, HTTP Error {HttpStatusCode.RequestTimeout}", ErrorCode = ErrorTranslator.ServiceError(ErrorType.CommunicationExternal, ServiceType.PHSA) }, PageIndex = pageIndex, }; using Microsoft.Extensions.Logging.ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); IHttpClientService httpClientService = GetHttpClientService(HttpStatusCode.RequestTimeout, string.Empty); IImmunizationDelegate immsDelegate = new RestImmunizationDelegate(loggerFactory.CreateLogger <RestImmunizationDelegate>(), httpClientService, this.configuration); var actualResult = immsDelegate.GetImmunizations("token", pageIndex).Result; Assert.True(actualResult.IsDeepEqual(expectedResult)); }
public void BadData() { string json = "{}"; RequestResult <IEnumerable <ImmunizationResponse> > expectedResult = new RequestResult <IEnumerable <ImmunizationResponse> >() { PageIndex = 0, ResultStatus = Common.Constants.ResultType.Error, ResultError = new RequestResultError() { ResultMessage = $"Error with JSON data", ErrorCode = ErrorTranslator.ServiceError(ErrorType.CommunicationExternal, ServiceType.PHSA) }, }; using Microsoft.Extensions.Logging.ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); IHttpClientService httpClientService = GetHttpClientService(HttpStatusCode.OK, json); IImmunizationDelegate immsDelegate = new RestImmunizationDelegate(loggerFactory.CreateLogger <RestImmunizationDelegate>(), httpClientService, this.configuration); var actualResult = immsDelegate.GetImmunizations("token", 0).Result; Assert.True(expectedResult.IsDeepEqual(actualResult)); }