public async Task ShouldGetMedications() { HNMessage expected = new HNMessage() { Message = "Test", IsErr = false, }; Mock <IAuthService> authMock = new Mock <IAuthService>(); authMock.Setup(s => s.ClientCredentialsAuth()).ReturnsAsync(new JWTModel()); Mock <IHNMessageParser <MedicationStatement> > parserMock = new Mock <IHNMessageParser <MedicationStatement> >(); parserMock.Setup(s => s.ParseResponseMessage(expected.Message)).Returns(new List <MedicationStatement>()); Mock <IHttpClientFactory> httpMock = new Mock <IHttpClientFactory>(); var clientHandlerStub = new DelegatingHandlerStub((request, cancellationToken) => { request.SetConfiguration(new HttpConfiguration()); HttpResponseMessage response = request.CreateResponse(HttpStatusCode.OK, expected, MediaTypeNames.Application.Json); return(Task.FromResult(response)); }); var client = new HttpClient(clientHandlerStub); httpMock.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client); IMedicationService service = new RestMedicationService(parserMock.Object, httpMock.Object, configuration, authMock.Object); List <MedicationStatement> medications = await service.GetMedicationsAsync("123456789", "test", "10.0.0.1"); Assert.True(medications.Count == 0); }
public async Task ShouldGetPHN() { Patient expected = new Patient("1234", "000", "Test", "Gateway"); Mock <IHttpClientFactory> httpMock = new Mock <IHttpClientFactory>(); var clientHandlerStub = new DelegatingHandlerStub((request, cancellationToken) => { request.SetConfiguration(new HttpConfiguration()); HttpResponseMessage response = request.CreateResponse(HttpStatusCode.OK, expected, MediaTypeNames.Application.Json); return(Task.FromResult(response)); }); var client = new HttpClient(clientHandlerStub); httpMock.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client); Mock <IAuthService> authMock = new Mock <IAuthService>(); /*var clientHandlerStub = new DelegatingHandlerStub((request, cancellationToken) => { * request.SetConfiguration(new HttpConfiguration()); * HttpResponseMessage response = request.CreateResponse(HttpStatusCode.OK, expected, MediaTypeNames.Application.Json); * return Task.FromResult(response); * }); * var client = new HttpClient(clientHandlerStub); * httpMock.Setup(_ => _.CreateClient(It.IsAny<string>())).Returns(client);*/ IPatientService service = new RestPatientService(httpMock.Object, configuration, authMock.Object); string phn = await service.GetPatientPHNAsync(expected.HdId); Assert.Equal(expected.PersonalHealthNumber, phn); }
public void ShouldGetPHN() { RequestResult <Patient> expected = new RequestResult <Patient>() { ResultStatus = ResultType.Success, ResourcePayload = new Patient("1234", "912345678", "Test", "Gateway", DateTime.ParseExact("20001231", "yyyyMMdd", CultureInfo.InvariantCulture), string.Empty) }; Mock <IHttpClientService> httpMock = new Mock <IHttpClientService>(); var clientHandlerStub = new DelegatingHandlerStub(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonSerializer.Serialize(expected), Encoding.UTF8, MediaTypeNames.Application.Json), }); var client = new HttpClient(clientHandlerStub); httpMock.Setup(_ => _.CreateDefaultHttpClient()).Returns(client); IPatientDelegate service = new RestPatientDelegate( new Mock <ILogger <RestPatientDelegate> >().Object, new Mock <ITraceService>().Object, httpMock.Object, configuration); RequestResult <string> result = service.GetPatientPHN(expected.ResourcePayload.HdId, "Bearer TheTestToken"); Assert.Equal(expected.ResourcePayload.PersonalHealthNumber, result.ResourcePayload); }
public async Task ShouldCatchBadRequest() { Mock <IHttpClientFactory> httpMock = new Mock <IHttpClientFactory>(); var clientHandlerStub = new DelegatingHandlerStub((request, cancellationToken) => { request.SetConfiguration(new HttpConfiguration()); HttpResponseMessage response = request.CreateResponse(HttpStatusCode.BadRequest); return(Task.FromResult(response)); }); Mock <IAuthService> authMock = new Mock <IAuthService>(); var client = new HttpClient(clientHandlerStub); httpMock.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client); IPatientService service = new RestPatientService(httpMock.Object, configuration, authMock.Object); HttpRequestException ex = await Assert.ThrowsAsync <HttpRequestException>(() => service.GetPatientPHNAsync("")); }
public void ShouldCatchBadRequest() { Mock <IHttpClientService> httpMock = new Mock <IHttpClientService>(); var clientHandlerStub = new DelegatingHandlerStub(new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent(string.Empty, Encoding.UTF8, MediaTypeNames.Application.Json), }); var client = new HttpClient(clientHandlerStub); httpMock.Setup(_ => _.CreateDefaultHttpClient()).Returns(client); IPatientDelegate service = new RestPatientDelegate( new Mock <ILogger <RestPatientDelegate> >().Object, new Mock <ITraceService>().Object, httpMock.Object, configuration); RequestResult <string> patientResult = service.GetPatientPHN("", "Bearer TheTestToken"); Assert.True(patientResult != null && patientResult.ResultStatus == Common.Constants.ResultType.Error); }