public void ReturnInValidWhenInvalidInputPassed(GetTodaysInstrumentInfoQuery input)
        {
            //Arrange
            var validator = new GetTodaysInstrumentInfoQueryValidator();
            //Act
            var validationResult = validator.Validate(input);

            //Assert
            validationResult.IsValid.Should().BeFalse("Validation failed");
        }
示例#2
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "todaysfuturesymbolinfo")] HttpRequest req,
            ILogger log)
        {
            try
            {
                GetTodaysInstrumentInfoQuery request = new GetTodaysInstrumentInfoQuery
                {
                    SymbolName         = req.Query["SymbolName"],
                    ContractExpiryDate = ConvertToDate(req.Query["ContractExpiryDate"])
                };

                log.LogInformation($"Received request to get current day " +
                                   $"future instrument information. {JsonConvert.SerializeObject(request)}");

                try
                {
                    var response = await _mediator.Send(request);

                    if (response == null)
                    {
                        throw new NoRecordsFoundException("No information found for the given request.");
                    }

                    return(new OkObjectResult(response));
                }
                catch (NoRecordsFoundException)
                {
                    return(new BadRequestObjectResult(new
                    {
                        Error = $"No records found for the given input request. " +
                                $"{JsonConvert.SerializeObject(request)}"
                    }));
                }
                catch (ValidationException ve)
                {
                    return(new BadRequestObjectResult(ve.Failures.Select(e => new {
                        Field = e.Key,
                        Message = e.Value
                    })));
                }
            }
            catch (Exception e)
            {
                log.LogError(e, $"Some internal/unknown error occurred! {e.Message}");
                return(new InternalServerErrorResult());
            }
        }