Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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(""));
        }
Ejemplo n.º 5
0
        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);
        }