public void OnActionExecuting(ActionExecutingContext AEcontext)
        {
            int              id               = 0;
            Clients          clients          = null;
            BadRequestResult badRequestResult = new BadRequestResult();
            Valid            requestIsValid;

            try
            {
                if (AEcontext.ActionArguments.ContainsKey("id"))
                {
                    id = (int)AEcontext.ActionArguments["id"];
                }

                if (AEcontext.ActionArguments.ContainsKey("clients"))
                {
                    clients = (Clients)AEcontext.ActionArguments["clients"];
                }

                requestIsValid = ModelIsValid(id, clients, AEcontext);

                if (!requestIsValid.IsValid)
                {
                    AEcontext.Result = new BadRequestObjectResult(requestIsValid.Message);
                }
            }
            catch (Exception Err)
            {
                AEcontext.Result = new BadRequestObjectResult(Err.Message);
            }
        }
Ejemplo n.º 2
0
        public void Delete_FlowValidError()
        {
            // Arrange
            CashDeskItem item = new CashDeskItem()
            {
                Id   = "5c012842f8e2708cf041e247",
                Name = "Caisse_01"
            };
            Acknowledged deleteResult = new Acknowledged(1);

            _cashDeskServicesMock.Setup(x => x.GetCashDesk(item.Id)).Returns(Task.FromResult(item));
            _cashDeskFlowValidMock
            .Setup(x => x.IsValidOperation(BaseValidatorType.Delete, It.IsAny <CashDeskItem>(), null))
            .Returns(false)
            .Verifiable();

            // Act
            CashDeskController controller   = new CashDeskController(_cashDeskServicesMock.Object, _cashDeskFlowValidMock.Object);
            ActionResult       actionResult = controller.Delete(item.Id);

            // Assert.
            Assert.IsType <BadRequestResult>(actionResult);
            BadRequestResult actionResultType = actionResult as BadRequestResult;

            Assert.Equal(actionResultType.StatusCode, (int)System.Net.HttpStatusCode.BadRequest);
            _cashDeskServicesMock.Verify();
            _cashDeskFlowValidMock.Verify();
        }
Ejemplo n.º 3
0
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!filterContext.ModelState.IsValid)
            {
                if (filterContext.HttpContext.Request.Method == "GET")
                {
                    var result = new BadRequestResult();
                    filterContext.Result = result;
                }
                else
                {
                    var    result  = new ContentResult();
                    string content = JsonConvert.SerializeObject(filterContext.ModelState.GetModelErrors(),
                                                                 new JsonSerializerSettings
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });
                    result.Content     = content;
                    result.ContentType = "application/json";

                    filterContext.HttpContext.Response.StatusCode = 400;
                    filterContext.Result = result;
                }
            }
        }
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (!filterContext.ModelState.IsValid)
            {
                if (filterContext.HttpContext.Request.Method is "GET")
                {
                    var result = new BadRequestResult();

                    filterContext.Result = result;
                }
                else
                {
                    var serializerSettings = new JsonSerializerSettings
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    };

                    var content = JsonConvert.SerializeObject(filterContext.ModelState, serializerSettings);

                    var result = new ContentResult()
                    {
                        Content     = content,
                        ContentType = "application/json"
                    };

                    filterContext.HttpContext.Response.StatusCode = 400;

                    filterContext.Result = result;
                }
            }
        }
Ejemplo n.º 5
0
        public IActionResult AddObjectInstance(string clientID, string definitionID)
        {
            IActionResult result;

            Guid definitionIDGuid, clientIDGuid;

            if (StringUtils.GuidTryDecode(definitionID, out definitionIDGuid) && StringUtils.GuidTryDecode(clientID, out clientIDGuid))
            {
                Model.Client           client         = BusinessLogicFactory.Clients.GetClient(clientIDGuid);
                int                    organisationID = User.GetOrganisationID();
                Model.ObjectDefinition definition     = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinition(organisationID, definitionIDGuid);
                if (definition != null)
                {
                    // TODO: add error handling around deserialisation.
                    // TODO: could lwm2mObject.instanceID be an optional parameter, allowing a web client to specify?
                    Model.Object lwm2mObject = new ServiceModels.ObjectInstance(definition, Request).Resource;
                    BusinessLogicFactory.Clients.SaveObject(client, lwm2mObject, Model.TObjectState.Add);

                    ServiceModels.ResourceCreated response = new ServiceModels.ResourceCreated();
                    response.ID = lwm2mObject.InstanceID;
                    string rootUrl = Request.GetRootUrl();
                    response.AddSelfLink(string.Concat(rootUrl, "/clients/", clientID, "/objecttypes/", definitionID, "/instances/", response.ID), true, true);
                    result = Request.GetObjectResult(response, System.Net.HttpStatusCode.Created);
                }
                else
                {
                    result = new BadRequestResult();
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
        public void Result_GivenActionResultOfTValue_ShouldReturnSameValue()
        {
            var actionResult = new BadRequestResult();
            var result       = new ActionResult <object>(actionResult);

            result.Should().Result.Should().BeSameAs(actionResult);
        }
        public void TestBadRequestResult_should_work_as_expected_with_method_without_arguments()
        {
            ApiControllerHttpActionResultActionTester actionTester = _controllerTester.Action(x => x.HttpActionResultActionWithoutArguments);

            _controller.HttpActionResult = new BadRequestResult(_controller);

            BadRequestResult result            = null;
            BadRequestResult validatedResult   = null;
            bool             validateWasCalled = false;

            Action action = () =>
            {
                result = actionTester.TestBadRequestResult(r =>
                {
                    validatedResult   = r;
                    validateWasCalled = true;
                });
            };

            action.Should().NotThrow();
            result.Should().Be(_controller.HttpActionResult);
            validateWasCalled.Should().BeTrue();
            validatedResult.Should().Be(_controller.HttpActionResult);

            _controller.HttpActionResult = _okResult;
            action.Should().Throw <ControllerTestException>().WithMessage(
                "Expected IHttpActionResult type System.Web.Http.Results.BadRequestResult. Actual: System.Web.Http.Results.OkResult.");
        }
        public IActionResult GetObjectDefinition(string id)
        {
            IActionResult result;
            Guid          objectDefinitionID;

            if (StringUtils.GuidTryDecode(id, out objectDefinitionID))
            {
                int organisationID = User.GetOrganisationID();
                Model.ObjectDefinition objectDefinition = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinition(organisationID, objectDefinitionID);
                if (objectDefinition == null)
                {
                    result = new NotFoundResult();
                }
                else
                {
                    ServiceModels.ObjectDefinition response = new ServiceModels.ObjectDefinition(objectDefinition);
                    string rootUrl = Request.GetRootUrl();
                    if (organisationID == 0)
                    {
                        response.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", response.ObjectDefinitionID), true, true);
                    }
                    else
                    {
                        response.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", response.ObjectDefinitionID), objectDefinition.OrganisationID.HasValue, objectDefinition.OrganisationID.HasValue);
                    }
                    result = Request.GetObjectResult(response);
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
        public IActionResult RemoveObjectDefinition(string id)
        {
            IActionResult result;
            Guid          objectDefinitionID;

            if (StringUtils.GuidTryDecode(id, out objectDefinitionID))
            {
                int organisationID = User.GetOrganisationID();
                Model.ObjectDefinition objectDefinition = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinition(organisationID, objectDefinitionID);
                if (objectDefinition == null)
                {
                    result = new NotFoundResult();
                }
                else
                {
                    if (!objectDefinition.OrganisationID.HasValue && (organisationID != 0))
                    {
                        result = new StatusCodeResult((int)System.Net.HttpStatusCode.Forbidden);
                    }
                    else
                    {
                        BusinessLogicFactory.ObjectDefinitions.SaveObjectDefinition(objectDefinition, Model.TObjectState.Delete);
                        result = new NoContentResult();
                    }
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
        public void CreateTodo_ShouldBeBadRequest()
        {
            // Arrange
            var options = GetTestDbOptions();

            using (var context = new ApplicationContext(options))
            {
                var todoService = new TodoService(context, GetMockMapper());

                var todoDTO = new TodoDTO()
                {
                    Name        = "test1",
                    Description = "use mock",
                    AssigneeId  = 1,
                    Done        = false,
                    UserId      = 1
                };
                var expected = new BadRequestResult();

                // Act
                Task <IActionResult> actual = todoService.CreateTodo(todoDTO);

                // Assert
                Assert.IsNotNull(actual);
                Assert.AreEqual(expected.GetType(), actual.Result.GetType());
            }
        }
        private IActionResult AddObjectDefinition(ServiceModels.ObjectDefinition objectDefinition)
        {
            IActionResult result;

            if (objectDefinition == null)
            {
                result = new BadRequestResult();
            }
            else
            {
                ResourceCreated        response = new ResourceCreated();
                string                 rootUrl  = Request.GetRootUrl();
                Model.ObjectDefinition item     = objectDefinition.ToModel();
                item.OrganisationID = User.GetOrganisationID();
                try
                {
                    BusinessLogicFactory.ObjectDefinitions.SaveObjectDefinition(item, Model.TObjectState.Add);
                    response.ID = StringUtils.GuidEncode(item.ObjectDefinitionID);
                    response.AddSelfLink(string.Concat(rootUrl, "/objecttypes/definitions/", response.ID), false, false);
                    result = Request.GetObjectResult(response, System.Net.HttpStatusCode.Created);
                }
                catch (ConflictException)
                {
                    result = new StatusCodeResult((int)HttpStatusCode.Conflict);
                }
            }
            return(result);
        }
Ejemplo n.º 12
0
        public void BeActionResult_GivenActionResultOfTValue_ShouldPass()
        {
            var actionResult = new BadRequestResult();
            IConvertToActionResult result = new ActionResult <object>(actionResult);

            result.Should().BeActionResult <object>();
        }
        public void Put_FlowValidError()
        {
            // Arrange
            CustomerItem item = new CustomerItem()
            {
                Id   = "5c012842f8e2708cf041e247",
                Name = "Caisse_01"
            };

            _customerServicesMock.Setup(x => x.GetCustomer(item.Id)).Returns(Task.FromResult(item));
            _customerFlowValidMock
            .Setup(x => x.IsValidOperation(BaseValidatorType.Update, It.IsAny <CustomerItem>(), It.IsAny <CustomerItem>()))
            .Returns(false)
            .Verifiable();

            // Act
            CustomerController controller   = new CustomerController(_customerServicesMock.Object, _customerFlowValidMock.Object);
            ActionResult       actionResult = controller.Put(item);

            // Assert.
            Assert.IsType <BadRequestResult>(actionResult);
            BadRequestResult actionResultType = actionResult as BadRequestResult;

            Assert.Equal(actionResultType.StatusCode, (int)System.Net.HttpStatusCode.BadRequest);
            _customerServicesMock.Verify();
            _customerFlowValidMock.Verify();
        }
Ejemplo n.º 14
0
        private IHttpResponse PrepareResponse(IController controller, IActionResult actionResult)
        {
            IHttpResponse result = null;

            if (actionResult is IViewable)
            {
                string content = actionResult.Invoke();
                result = new HtmlResult(content, HttpResponseStatusCode.OK);
            }
            else if (actionResult is IRedirectable)
            {
                string location = actionResult.Invoke();
                result = new RedirectResult(location);
            }
            else if (actionResult is IUnauthorized)
            {
                string content = actionResult.Invoke();
                result = new UnauthorizedResult(content);
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "Book")] HttpRequest req)
        {
            IActionResult result;

            try
            {
                var request = await new StreamReader(req.Body).ReadToEndAsync();

                var book = JsonConvert.DeserializeObject <Book>(request);

                if (string.IsNullOrWhiteSpace(book.Category))
                {
                    result = new BadRequestResult();
                }
                else
                {
                    book.Id = Guid.NewGuid().ToString();
                    await _bookService.AddBook(book);

                    result = new OkResult();
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Internal Server Error. Exception thrown: {ex.Message}");
                result = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }

            return(result);
        }
        public IActionResult UpdateObjectDefinition(string id, [FromBody] ServiceModels.ObjectDefinition objectDefinition)
        {
            IActionResult result;
            Guid          objectDefinitionID;

            if (StringUtils.GuidTryDecode(id, out objectDefinitionID))
            {
                int organisationID = User.GetOrganisationID();
                Model.ObjectDefinition existingObjectDefinition = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinition(organisationID, objectDefinitionID);
                if (existingObjectDefinition == null)
                {
                    result = new NotFoundResult();
                }
                else
                {
                    if (!existingObjectDefinition.OrganisationID.HasValue && (organisationID != 0))
                    {
                        result = new StatusCodeResult((int)System.Net.HttpStatusCode.Forbidden);
                    }
                    else
                    {
                        Model.ObjectDefinition updatedObjectDefinition = objectDefinition.ToModel();
                        updatedObjectDefinition.OrganisationID = User.GetOrganisationID();
                        BusinessLogicFactory.ObjectDefinitions.SaveObjectDefinition(updatedObjectDefinition, Model.TObjectState.Update);
                        result = new NoContentResult();
                    }
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
Ejemplo n.º 17
0
        public Task <IActionResult> Handle(CreateCategoryCommand request, CancellationToken cancellationToken)
        {
            IActionResult response = new BadRequestResult();

            try
            {
                var validatorResults = _createValidator.Validate(request);

                if (!validatorResults.IsValid)
                {
                    var errors = validatorResults.Errors.Select(f => f.ErrorMessage);
                    var output = ApiResultHelper.GenerateErrorResponse(HttpStatusCode.UnprocessableEntity, errors);

                    response = new UnprocessableEntityObjectResult(output);
                }
                else
                {
                    var entity = _mapper.Map <Category>(request);
                    var result = _repository.Save(entity).Result;

                    response = new OkObjectResult(ApiResultHelper.GenerateResponse(HttpStatusCode.OK, result));
                }
            }
            catch (Exception ex)
            {
                if (this._logger != null)
                {
                    _logger.LogError(ex, "Exception");
                }
            }

            return(Task.FromResult(response));
        }
        public IActionResult GetSubscription(string subscriptionID)
        {
            IActionResult result;
            Guid          subscriptionIDGuid;

            if (StringUtils.GuidTryDecode(subscriptionID, out subscriptionIDGuid))
            {
                Model.Subscription subscription = BusinessLogicFactory.Subscriptions.GetSubscription(subscriptionIDGuid);
                if (subscription == null)
                {
                    result = new NotFoundResult();
                }
                else
                {
                    ServiceModels.Subscription response = new ServiceModels.Subscription(subscription);
                    string rootUrl = Request.GetRootUrl();
                    response.AddSelfLink(string.Concat(rootUrl, "/subscriptions/", StringUtils.GuidEncode(subscription.SubscriptionID)), true, true);
                    result = Request.GetObjectResult(response);
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
Ejemplo n.º 19
0
        public async Task UploadClarificationFile_with_file_calls_file_upload_which_fails_returns_bad_request()
        {
            var clarificationFileName = "file.pdf";
            var file = new FormFile(new MemoryStream(), 0, 0, clarificationFileName, clarificationFileName);
            var formFileCollection = new FormFileCollection {
                file
            };

            _controller.HttpContext.Request.Form = new FormCollection(new Dictionary <string, StringValues>(), formFileCollection);

            var command = new SubcontractorDeclarationClarificationFileCommand
            {
                UserId   = "user id",
                UserName = "******"
            };

            _fileStorage.Setup(x => x.UploadFiles(_applicationId, RoatpWorkflowSequenceIds.YourOrganisation,
                                                  RoatpWorkflowSectionIds.YourOrganisation.ExperienceAndAccreditations,
                                                  RoatpClarificationUpload.SubcontractorDeclarationClarificationFile, formFileCollection,
                                                  ContainerType.Gateway, It.IsAny <CancellationToken>())).ReturnsAsync(false);

            var result = await _controller.UploadClarificationFile(_applicationId, command);

            var expectedResult = new BadRequestResult();

            Assert.AreEqual(expectedResult.ToString(), result.ToString());
            _mediator.Verify(x => x.Send(It.IsAny <AddSubcontractorDeclarationFileUploadRequest>(), It.IsAny <CancellationToken>()), Times.Never);
        }
        public IActionResult UpdateSubscription(string subscriptionID, [FromBody] ServiceModels.Subscription subscription)
        {
            IActionResult result;
            Guid          subscriptionIDGuid;

            if (StringUtils.GuidTryDecode(subscriptionID, out subscriptionIDGuid))
            {
                Model.Subscription subscriptionToUpdate = BusinessLogicFactory.Subscriptions.GetSubscription(subscriptionIDGuid);
                if (subscriptionToUpdate == null)
                {
                    result = new NotFoundResult();
                }
                else
                {
                    subscription.UpdateModel(subscriptionToUpdate);

                    if (!ExistingSubscriptionMatches(subscriptionToUpdate))
                    {
                        BusinessLogicFactory.Subscriptions.SaveSubscription(subscriptionToUpdate, TObjectState.Update);
                        result = new NoContentResult();
                    }
                    else
                    {
                        result = new StatusCodeResult((int)System.Net.HttpStatusCode.Conflict);
                    }
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
Ejemplo n.º 21
0
        public async Task AnalyzeAsyncErrorTest()
        {
            IEnumerable <Task> testTasks = ChineseTests.OtherCharacters.Select(async item =>
            {
                EtymologyController controller = CreateController();
                try
                {
                    controller.ControllerContext.HttpContext.Request.Headers.Add(nameof(Chinese), new StringValues(char.ConvertToUtf32(item, 0).ToString("D")));
                }
                catch (Exception exception)
                {
                    Trace.WriteLine(exception);
                }

                Trace.WriteLine(item);
#if DEBUG
                BadRequestObjectResult badRequest = await controller.AnalyzeAsync(item) as BadRequestObjectResult;
#else
                BadRequestResult badRequest = await controller.AnalyzeAsync(item) as BadRequestResult;
#endif
                Assert.IsNotNull(badRequest);
#if DEBUG
                Assert.IsInstanceOfType(badRequest.Value, typeof(ArgumentException));
#endif
                Assert.AreEqual((int)HttpStatusCode.BadRequest, badRequest.StatusCode);
            });
            await Task.WhenAll(testTasks);
        }
        public IActionResult AddSubscription(string clientID, string definitionID, string instanceID, [FromBody] ServiceModels.Subscription subscription)
        {
            IActionResult result;

            if (subscription != null)
            {
                Model.Subscription item = subscription.ToModel(Request, clientID, definitionID, instanceID);
                item.OrganisationID = User.GetOrganisationID();
                item.SubscriptionID = Guid.NewGuid();

                if (!ExistingSubscriptionMatches(item))
                {
                    BusinessLogicFactory.Subscriptions.SaveSubscription(item, Model.TObjectState.Add);

                    ServiceModels.ResourceCreated response = new ServiceModels.ResourceCreated();
                    response.ID = StringUtils.GuidEncode(item.SubscriptionID);
                    string rootUrl = Request.GetRootUrl();
                    response.AddSelfLink(string.Concat(rootUrl, "/subscriptions/", response.ID), false, false);
                    result = Request.GetObjectResult(response, System.Net.HttpStatusCode.Created);
                }
                else
                {
                    result = new StatusCodeResult((int)System.Net.HttpStatusCode.Conflict);
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
Ejemplo n.º 23
0
        public IActionResult GetObjectType(string clientID, string definitionID)
        {
            IActionResult result = new NotFoundResult();
            Guid          clientIDGuid;
            Guid          definitionIDGuid;

            if (StringUtils.GuidTryDecode(clientID, out clientIDGuid) && StringUtils.GuidTryDecode(definitionID, out definitionIDGuid))
            {
                Model.Client client = BusinessLogicFactory.Clients.GetClient(clientIDGuid);
                if ((client != null) && (client.SupportedTypes != null))
                {
                    Model.ObjectDefinition definition = BusinessLogicFactory.ObjectDefinitions.GetObjectDefinition(User.GetOrganisationID(), definitionIDGuid);
                    if (definition != null)
                    {
                        Model.ObjectType objectType = client.SupportedTypes.GetObjectType(int.Parse(definition.ObjectID));
                        if (objectType != null)
                        {
                            ServiceModels.ObjectType response = new ServiceModels.ObjectType(objectType);
                            string rootUrl = Request.GetRootUrl();
                            response.AddSelfLink(string.Concat(rootUrl, "/clients/", clientID, "/objecttypes/", definitionID), false, false);
                            response.AddLink <ObjectDefinition>(Request, "definition", string.Concat(rootUrl, "/objecttypes/definitions/", definitionID));
                            response.AddLink("instances", string.Concat(rootUrl, "/clients/", clientID, "/objecttypes/", definitionID, "/instances"), Request.GetContentType(definition.MIMEType));
                            result = Request.GetObjectResult(response);
                        }
                    }
                }
            }
            else
            {
                result = new BadRequestResult();
            }
            return(result);
        }
Ejemplo n.º 24
0
        public Task <IActionResult> Handle(CategoryQuery request, CancellationToken cancellationToken)
        {
            IActionResult response = new BadRequestResult();

            try
            {
                var list = new List <Category>();

                if (request.CategoryId == 0)
                {
                    list = _repository.GetAll().Result;
                }
                else
                {
                    var obj = _repository.GetById(request.CategoryId).Result;
                    if (obj != null)
                    {
                        list.Add(obj);
                    }
                }

                response = new OkObjectResult(ApiResultHelper.GenerateResponse(HttpStatusCode.OK, list, 1));
            }
            catch (Exception ex)
            {
                if (this._logger != null)
                {
                    _logger.LogError(ex, "Exception");
                }
            }

            return(Task.FromResult(response));
        }
Ejemplo n.º 25
0
        public void Post_FlowValidError()
        {
            // Arrange
            CashDeskItem item = new CashDeskItem()
            {
                Id   = "",
                Name = "Caisse_01"
            };

            _cashDeskFlowValidMock
            .Setup(x => x.IsValidOperation(BaseValidatorType.Create, It.IsAny <CashDeskItem>(), null))
            .Returns(false)
            .Verifiable();

            // Act
            CashDeskController controller   = new CashDeskController(_cashDeskServicesMock.Object, _cashDeskFlowValidMock.Object);
            ActionResult       actionResult = controller.Post(item);

            // Assert.
            Assert.IsType <BadRequestResult>(actionResult);
            BadRequestResult actionResultType = actionResult as BadRequestResult;

            Assert.Equal(actionResultType.StatusCode, (int)System.Net.HttpStatusCode.BadRequest);
            _cashDeskServicesMock.Verify();
            _cashDeskFlowValidMock.Verify();
        }
Ejemplo n.º 26
0
        public void GivenEmptyProjectName_WhenCallingBuildsByDefinition_ShouldThrowException()
        {
            // arrange
            const string result         = "result";
            const string status         = "status";
            const int    definitionId   = 11;
            const string buildNumber    = "1.2.3.4";
            const string definitionName = "The Hill's CI";

            IBuildsFactory fakeBuildsFactory = new FakeBuildsFactory(1, new List <Build>
            {
                new Build(status, result, buildNumber, DateTime.Today, new Definition(definitionId, definitionName), new RequestedFor("Hank Hill", "http://image.shack.usa/hankhill"))
            });

            IPrivateer      privateer  = new Privateer();
            BuildController controller = privateer.Object <BuildController>(fakeBuildsFactory, new MemoryCache(new MemoryCacheOptions()));

            // act
            BadRequestResult badRequestResult = (BadRequestResult)controller.BuildsByDefinition(string.Empty, new List <int> {
                definitionId
            });

            // assert
            badRequestResult.Should().BeOfType <BadRequestResult>();
        }
Ejemplo n.º 27
0
        public Task ExecuteResultAsync(ActionContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            _logger = context.HttpContext.RequestServices.GetRequiredService <ILogger <PingbackResult> >();
            _logger.LogInformation($"Executing PingbackResult for '{PingbackServiceResponse}'");

            string        content      = null;
            int           statusCode   = StatusCodes.Status200OK;
            IActionResult actionResult = null;

            switch (PingbackServiceResponse)
            {
            case PingbackServiceResponse.Success:
                content =
                    "<methodResponse><params><param><value><string>Thanks!</string></value></param></params></methodResponse>";
                break;

            case PingbackServiceResponse.Error17SourceNotContainTargetUri:
                content = BuildErrorResponseBody(17,
                                                 "The source URI does not contain a link to the target URI, and so cannot be used as a source.");
                break;

            case PingbackServiceResponse.Error32TargetUriNotExist:
                content = BuildErrorResponseBody(32, "The specified target URI does not exist.");
                break;

            case PingbackServiceResponse.Error48PingbackAlreadyRegistered:
                content = BuildErrorResponseBody(48, "The pingback has already been registered.");
                break;

            case PingbackServiceResponse.SpamDetectedFakeNotFound:
                actionResult = new NotFoundResult();
                break;

            case PingbackServiceResponse.GenericError:
                actionResult = new StatusCodeResult(StatusCodes.Status500InternalServerError);
                break;

            case PingbackServiceResponse.InvalidPingRequest:
                actionResult = new BadRequestResult();
                break;

            default:
                _logger.LogError($"Error Executing PingbackResult, invalid PingbackServiceResponse '{PingbackServiceResponse}'");
                throw new ArgumentOutOfRangeException();
            }

            actionResult ??= new ContentResult
            {
                Content     = content,
                ContentType = "text/xml",
                StatusCode  = statusCode
            };

            return(actionResult.ExecuteResultAsync(context));
        }
Ejemplo n.º 28
0
        public IActionResult ValidatePayment([FromBody] TransactionInfo transactionInfo)
        {
            var result     = default(IActionResult);
            var validation = transactionInfo != default(TransactionInfo);

            if (!validation)
            {
                result = new BadRequestResult();
            }
            else
            {
                var creditValidation = this.creditCardBusinessComponent.ValidateCreditCard(
                    transactionInfo.CreditCardNumber, transactionInfo.CVVCode,
                    transactionInfo.ExpiryDate, transactionInfo.TransactionAmount);

                if (!creditValidation)
                {
                    result = new BadRequestObjectResult(new
                    {
                        message = "Invalid Credit Card Details",
                        status  = "FAILED"
                    });
                }
                else
                {
                    result = new OkObjectResult(new
                    {
                        status = "VALID"
                    });
                }
            }

            return(result);
        }
        public void OnPageHandlerExecuting(PageHandlerExecutingContext context)
        {
            if (!context.ModelState.IsValid)
            {
                if (context.HttpContext.Request.Method == "GET")
                {
                    var result = new BadRequestResult();
                    context.Result = result;
                }
                else
                {
                    var result  = new ContentResult();
                    var content = JsonConvert.SerializeObject(context.ModelState,
                                                              new JsonSerializerSettings
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });
                    result.Content     = content;
                    result.ContentType = "application/json";

                    context.HttpContext.Response.StatusCode = 400;
                    context.Result = result;
                }
            }
        }
        private bool TryValidateChangeRequest(ChangeRequest changeRequest, int version, string entityId, ILogger log, out IActionResult validationResponse)
        {
            if (changeRequest.Requests.Count() == 0)
            {
                log.LogError("BadRequest: Request Count 0");
                validationResponse = new BadRequestResult();
                return(false);
            }

            if (string.IsNullOrEmpty(entityId))
            {
                log.LogError("BadRequest: Missing EntityId");
                validationResponse = new BadRequestResult();
                return(false);
            }

            if (version != _workforceIntegrationOptions.ApiVersion)
            {
                log.LogError("BadRequest: Unsupported API Version");
                validationResponse = new BadRequestResult();
                return(false);
            }

            validationResponse = null;
            return(true);
        }