private IValidationResult Validate(ValidationTestConfig config) { var userContext = new GraphQLUserContext { User = config.User }; var documentBuilder = new GraphQLDocumentBuilder(); var document = documentBuilder.Build(config.Query); var validator = new DocumentValidator(); return(validator.Validate(config.Query, config.Schema, document, config.Rules, userContext, config.Inputs)); }
private static IValidationResult Validate(ValidationTestConfig config) { var userContext = new GraphQLUserContext { User = config.User }; var documentBuilder = new GraphQLDocumentBuilder(); var document = documentBuilder.Build(config.Query); var validator = new DocumentValidator(); return(validator.ValidateAsync(config.Schema, document, document.Operations.First().Variables, config.Rules, userContext, config.Inputs).GetAwaiter().GetResult().validationResult); }
protected void ShouldFailRule(Action <ValidationTestConfig> configure) { var config = new ValidationTestConfig(); config.Rule(Rule); configure(config); config.Rules.Any().ShouldBeTrue("Must provide at least one rule to validate against."); config.Schema.Initialize(); var result = Validate(config); result.IsValid.ShouldBeFalse("Expected validation errors though there were none."); }
protected void ShouldPassRule(Action <ValidationTestConfig> configure) { var config = new ValidationTestConfig(); config.Rule(Rule); configure(config); config.Rules.Any().ShouldBeTrue("Must provide at least one rule to validate against."); config.Schema.Initialize(); var result = Validate(config); var message = ""; if (result.Errors?.Any() == true) { message = string.Join(", ", result.Errors.Select(x => x.Message)); } result.IsValid.ShouldBeTrue(message); }