Example #1
0
        public async void Valid_ReturnsNotFound()
        {
            var controller = new NrlsController(_pointerService);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Valid_Search;

            var response = await controller.Document("anything", "0000000001");

            Assert.IsType <NotFoundResult>(response);

            var notFoundResult = response as NotFoundResult;

            Assert.Equal(404, notFoundResult.StatusCode);
        }
        public void UpdateStatus_BadBodyOrQuery()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.InvalidQuery_Update_Pointer;

            var response = controller.Patch(new Parameters());

            Assert.True(response.IsFaulted);

            Assert.NotNull(response.Exception);

            Assert.NotNull(response.Exception.InnerException);

            Assert.Equal(typeof(HttpFhirException), response.Exception.InnerException.GetType());

            Assert.NotNull((response.Exception.InnerException as HttpFhirException).OperationOutcome);
        }
        public async void Search_Valid()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Valid_Search;

            var response = await controller.Search();

            Assert.IsType <OkObjectResult>(response);

            var okResult = response as OkObjectResult;

            Assert.Equal(200, okResult.StatusCode);

            var responseContent = okResult.Value;

            Assert.IsType <Bundle>(responseContent);
            var bundle = responseContent as Bundle;

            Assert.Equal(2, bundle.Total);
        }
        public async void UpdateStatus_Valid()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Valid_Update_Pointer;

            var response = await controller.Patch(new Parameters(), "logicalId");

            Assert.IsType <OkObjectResult>(response);

            var okResult = response as OkObjectResult;

            Assert.Equal(200, okResult.StatusCode);

            var responseContent = okResult.Value;

            Assert.IsType <OperationOutcome>(responseContent);
            var operationOutcome = responseContent as OperationOutcome;

            Assert.True(operationOutcome.Success);
        }
        public async void Read_Inactive()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Inactive_Search;

            var response = await controller.Read("logicalId");

            Assert.IsType <BadRequestObjectResult>(response);

            var result = response as BadRequestObjectResult;

            Assert.Equal(400, result.StatusCode);

            var responseContent = result.Value;

            Assert.IsType <OperationOutcome>(responseContent);
            var outcome = responseContent as OperationOutcome;

            Assert.Equal(1, outcome.Errors);
        }
        public async void Read_NotFound()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.NotFound_Search;

            var response = await controller.Read("logicalId");

            Assert.IsType <NotFoundObjectResult>(response);

            var notFoundResult = response as NotFoundObjectResult;

            Assert.Equal(404, notFoundResult.StatusCode);

            var responseContent = notFoundResult.Value;

            Assert.IsType <OperationOutcome>(responseContent);
            var outcome = responseContent as OperationOutcome;

            Assert.False(outcome.Success);
        }
Example #7
0
        public async void Valid_ReturnsOk()
        {
            var controller = new NrlsController(_pointerService);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Valid_Search;

            var response = await controller.Document("anything", "0000000000");

            Assert.IsType <OkObjectResult>(response);

            var okResult = response as OkObjectResult;

            Assert.Equal(200, okResult.StatusCode);

            var responseContent = okResult.Value;

            Assert.IsType <Binary>(responseContent);
            var binary = responseContent as Binary;

            Assert.Equal("text/html", binary.ContentType);
            Assert.Equal(Encoding.UTF8.GetBytes("<p>Hello</p>"), binary.Content);
        }
        public async void Read_Found()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Valid_Search;

            var response = await controller.Read("logicalId");

            Assert.IsType <OkObjectResult>(response);

            var okResult = response as OkObjectResult;

            Assert.Equal(200, okResult.StatusCode);

            var responseContent = okResult.Value;

            Assert.IsType <DocumentReference>(responseContent);
            var outcome = responseContent as DocumentReference;

            Assert.Equal(ResourceType.DocumentReference, outcome.ResourceType);
            Assert.Equal("https://directory.spineservices.nhs.uk/STU3/Organization/1XR", outcome.Custodian.Reference);
            Assert.Equal("https://demographics.spineservices.nhs.uk/STU3/Patient/2686033207", outcome.Subject.Reference);
        }
        public async void UpdateStatus_NotFound()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Invalid_Delete_Pointer_NotFound;

            var response = await controller.Patch(new Parameters());

            Assert.IsType <NotFoundObjectResult>(response);

            var notfoundResult = response as NotFoundObjectResult;

            Assert.Equal(404, notfoundResult.StatusCode);

            var responseContent = notfoundResult.Value;

            Assert.IsType <OperationOutcome>(responseContent);
            var operationOutcome = responseContent as OperationOutcome;

            Assert.False(operationOutcome.Success);

            Assert.NotNull(operationOutcome.Issue.FirstOrDefault(x => x.Details.Coding.FirstOrDefault(y => y.Code == "NO_RECORD_FOUND") != null));
        }
        public async void UpdateStatus_Invalid()
        {
            var controller = new NrlsController(_nrlsSettings, _nrlsSearch, _nrlsMaintain);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = HttpContexts.Invalid_Delete_Pointer_BadRequest;

            var response = await controller.Patch(new Parameters());

            Assert.IsType <BadRequestObjectResult>(response);

            var badResult = response as BadRequestObjectResult;

            Assert.Equal(400, badResult.StatusCode);

            var responseContent = badResult.Value;

            Assert.IsType <OperationOutcome>(responseContent);
            var operationOutcome = responseContent as OperationOutcome;

            Assert.False(operationOutcome.Success);

            Assert.NotNull(operationOutcome.Issue.FirstOrDefault(x => x.Details.Coding.FirstOrDefault(y => y.Code == "INVALID_RESOURCE") != null));
        }