/// <summary> /// Validate the OData Uri using an ODataUrlValidator. /// </summary> /// <param name="validator">The ODataUrlValidator used to validate the OData Uri.</param> /// <param name="validationMessages">The collection of validation messages found during validation.</param> /// <returns>True if validation messages are discovered during validation, otherwise false.</returns> public bool Validate(ODataUrlValidator validator, out IEnumerable <ODataUrlValidationMessage> validationMessages) { if (this.Model != validator.Model) { throw new ODataException(Strings.UriValidator_ValidatorMustUseSameModelAsParser); } return(validator.ValidateUrl(this.ParseUri(), out validationMessages)); }
public static void MustUseSameModel() { const string request = @"company"; IEdmModel model = CreateModel(); IEdmModel model2 = CreateModel(); ODataUrlValidator validator = new ODataUrlValidator(model2, ODataUrlValidationRuleSet.AllRules); ODataUriParser parser = new ODataUriParser(model, new Uri(request, UriKind.Relative)); Action validate = () => { IEnumerable <ODataUrlValidationMessage> errors; parser.Validate(validator, out errors); }; validate.Throws <ODataException>(Strings.UriValidator_ValidatorMustUseSameModelAsParser); }
public static void PassingValidatorSucceeds() { const string request = @"company"; IEdmModel model = CreateModel(); ODataUrlValidator validator = new ODataUrlValidator(model, dummyRuleset); ODataUriParser parser = new ODataUriParser(model, new Uri(request, UriKind.Relative)); IEnumerable <ODataUrlValidationMessage> errors; parser.Validate(validator, out errors); Assert.Collection <ODataUrlValidationMessage>(errors, (error) => { Assert.Equal("dummyCode", error.MessageCode); Assert.Equal("dummyMessage", error.Message); Assert.Equal(OData.UriParser.Validation.Severity.Warning, error.Severity); }); }
/// <summary> /// Validate the OData Uri using a specified set of rules. /// </summary> /// <param name="rules">The set of rules to use in validating the OData Uri.</param> /// <param name="validationMessages">The collection of validation messages found during validation.</param> /// <returns>True if validation messages are discovered during validation, otherwise false.</returns> public bool Validate(ODataUrlValidationRuleSet rules, out IEnumerable <ODataUrlValidationMessage> validationMessages) { ODataUrlValidator validator = new ODataUrlValidator(this.Model, rules); return(validator.ValidateUrl(this.ParseUri(), out validationMessages)); }