public void GlobalSetup() { var services = new ServiceCollection(); services.AddSingleton <MyQueryGraphType>(); services.AddSingleton <MyInputObjectGraphType>(); services.AddSingleton <MySubInputObjectGraphType>(); services.AddSingleton <ISchema, MySchema>(); _provider = services.BuildServiceProvider(); _schema = _provider.GetRequiredService <ISchema>(); _schema.Initialize(); _executer = new DocumentExecuter(); _queryLiteralDocument = new Execution.GraphQLDocumentBuilder().Build(Queries.VariablesLiteral); _queryDefaultVariableDocument = new Execution.GraphQLDocumentBuilder().Build(Queries.VariablesDefaultVariable); _queryVariableDocument = new Execution.GraphQLDocumentBuilder().Build(Queries.VariablesVariable); _variableInputs = Variables.VariablesVariable.ToInputs(); //confirm no errors during execution var val = EnableValidation; EnableValidation = true; Literal(); DefaultVariable(); Variable(); EnableValidation = val; }
private ExecutionResult ExecuteQuery(ISchema schema, string query, Language.AST.Document document, Inputs inputs) { return(_executer.ExecuteAsync(_ => { _.Schema = schema; _.Query = query; _.Document = document; _.Inputs = inputs; _.ValidationRules = EnableValidation ? null : Array.Empty <IValidationRule>(); _.ThrowOnUnhandledException = true; }).GetAwaiter().GetResult()); }