private IValidationResult Validate(ValidationTestConfig config) { HttpContext.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, null, config.Inputs).GetAwaiter().GetResult().validationResult); }
private IValidationResult Validate(ValidationTestConfig config) { HttpContext.User = config.User; 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.Query, config.Schema, document, config.Rules, userContext, config.Inputs).GetAwaiter().GetResult()); }
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); string message = ""; if (result.Errors?.Any() == true) { message = string.Join(", ", result.Errors.Select(x => x.Message)); } result.IsValid.ShouldBeTrue(message); }