public void Validate_Throws_NullSettings()
        {
            // Arrange
            ODataQueryContext context = ValidationTestHelper.CreateCustomerContext();
            var option = new CountQueryOption("Name eq 'abc'", context);

            // Act & Assert
            Assert.Throws <ArgumentNullException>(() => _validator.Validate(option, null));
        }
        public void ValidatePassWhenQuerySettingsLimitIsNotReached()
        {
            // Arrange
            ODataValidationSettings settings = new ODataValidationSettings()
            {
                MaxTop = 20
            };
            ModelBoundQuerySettings modelBoundQuerySettings = new ModelBoundQuerySettings();

            modelBoundQuerySettings.MaxTop = 20;
            ODataQueryContext context = ValidationTestHelper.CreateCustomerContext();

            context.Model.SetAnnotationValue(context.ElementType as IEdmStructuredType, modelBoundQuerySettings);

            // Act & Assert
            Assert.DoesNotThrow(() => _validator.Validate(new TopQueryOption("20", context), settings));
        }
        public void ValidateThrowsWhenQuerySettingsLimitIsExceeded()
        {
            // Arrange
            ODataValidationSettings settings = new ODataValidationSettings()
            {
                MaxTop = 20
            };
            ModelBoundQuerySettings modelBoundQuerySettings = new ModelBoundQuerySettings();

            modelBoundQuerySettings.MaxTop = 10;
            ODataQueryContext context = ValidationTestHelper.CreateCustomerContext();

            context.Model.SetAnnotationValue(context.ElementType as IEdmStructuredType, modelBoundQuerySettings);

            // Act & Assert
            Assert.Throws <ODataException>(() =>
                                           _validator.Validate(new TopQueryOption("11", context), settings),
                                           "The limit of '10' for Top query has been exceeded. The value from the incoming request is '11'.");
        }
 public ODataQueryValidatorTest()
 {
     _validator = new ODataQueryValidator();
     _context   = ValidationTestHelper.CreateCustomerContext();
 }
 public FilterQueryValidatorTest()
 {
     _validator      = new MyFilterValidator();
     _context        = ValidationTestHelper.CreateCustomerContext();
     _productContext = ValidationTestHelper.CreateProductContext();
 }
Exemple #6
0
 public OrderByQueryValidatorTest()
 {
     _context   = ValidationTestHelper.CreateCustomerContext();
     _validator = new OrderByQueryValidator(_context.DefaultQuerySettings);
 }