public void ShouldException() { var handlerMock = new Mock <HttpMessageHandler>(); handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .Throws <HttpRequestException>() .Verifiable(); using var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); Mock <IHttpClientService> mockHttpClientService = new Mock <IHttpClientService>(); mockHttpClientService.Setup(s => s.CreateDefaultHttpClient()).Returns(() => new HttpClient(handlerMock.Object)); IMSPVisitDelegate mspVisitDelegate = new RestMSPVisitDelegate( loggerFactory.CreateLogger <RestMSPVisitDelegate>(), mockHttpClientService.Object, this.configuration); ODRHistoryQuery query = new ODRHistoryQuery() { PHN = "123456789", }; RequestResult <MSPVisitHistoryResponse> actualResult = Task.Run(async() => await mspVisitDelegate.GetMSPVisitHistoryAsync(query, string.Empty, string.Empty)).Result; Assert.True(actualResult.ResultStatus == Common.Constants.ResultType.Error && actualResult.ResultError.ErrorCode == "testhostServer-CE-ODR"); }
public void ShouldGetMSPVisits() { string content = @" { ""uuid"": ""7c51465c-7a7d-489f-b186-8755ae094d09"", ""hdid"": ""P6FFO433A5WPMVTGM7T4ZVWBKCSVNAYGTWTU3J2LWMGUMERKI72A"", ""getMspVisitHistoryResponse"": { ""totalRecords"": 1, ""totalPages"": 1, ""claims"": [ { ""claimId"": 1, ""serviceDate"": ""2020-05-27"", ""feeDesc"": ""TACROLIMUS"", ""diagnosticCode"": { ""diagCode1"": ""01L"", ""diagCode2"": ""02L"", ""diagCode3"": ""03L"" }, ""specialtyDesc"": ""LABORATORY MEDICINE"", ""practitionerName"": ""PRACTITIONER NAME"", ""locationName"": ""PAYEE NAME"", ""locationAddress"": { ""addrLine1"": ""address line 1"", ""addrLine2"": ""address line 2"", ""addrLine3"": ""address line 3"", ""addrLine4"": ""address line 4"", ""city"": ""city"", ""postalCode"": ""V9V9V9"", ""province"": ""BC"" } }] } }"; var handlerMock = new Mock <HttpMessageHandler>(); handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .ReturnsAsync(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(content), }) .Verifiable(); using var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); Mock <IHttpClientService> mockHttpClientService = new Mock <IHttpClientService>(); mockHttpClientService.Setup(s => s.CreateDefaultHttpClient()).Returns(() => new HttpClient(handlerMock.Object)); IMSPVisitDelegate mspVisitDelegate = new RestMSPVisitDelegate( loggerFactory.CreateLogger <RestMSPVisitDelegate>(), mockHttpClientService.Object, this.configuration); ODRHistoryQuery query = new ODRHistoryQuery() { PHN = "123456789", }; RequestResult <MSPVisitHistoryResponse> actualResult = Task.Run(async() => await mspVisitDelegate.GetMSPVisitHistoryAsync(query, string.Empty, string.Empty)).Result; Assert.Equal(Common.Constants.ResultType.Success, actualResult.ResultStatus); Assert.Single(actualResult.ResourcePayload.Claims); Assert.Equal(1, actualResult.TotalResultCount); }
public void ShouldErrorDynamicLookup() { var handlerMock = new Mock <HttpMessageHandler>(); handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .ReturnsAsync(new HttpResponseMessage() { StatusCode = HttpStatusCode.Unauthorized, Content = new StringContent(string.Empty), }) .Verifiable(); using var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); Mock <IHttpClientService> mockHttpClientService = new Mock <IHttpClientService>(); mockHttpClientService.Setup(s => s.CreateDefaultHttpClient()).Returns(() => new HttpClient(handlerMock.Object)); var myConfiguration = new Dictionary <string, string> { { "ODR:DynamicServiceLookup", "True" }, { "ODR:BaseEndpoint", "http://mockendpoint/" }, }; var localConfig = new ConfigurationBuilder() .AddInMemoryCollection(myConfiguration) .Build(); IMSPVisitDelegate mspVisitDelegate = new RestMSPVisitDelegate( loggerFactory.CreateLogger <RestMSPVisitDelegate>(), mockHttpClientService.Object, localConfig); ODRHistoryQuery query = new ODRHistoryQuery() { PHN = "123456789", }; RequestResult <MSPVisitHistoryResponse> actualResult = Task.Run(async() => await mspVisitDelegate.GetMSPVisitHistoryAsync(query, string.Empty, string.Empty)).Result; Assert.Equal(Common.Constants.ResultType.Error, actualResult.ResultStatus); }