Example #1
0
        public async Task TypeNameIntrospectionNotOnQuery()
        {
            // arrange
            Schema       schema = CreateSchema();
            DocumentNode query  = Parser.Default.Parse("{ b { __typename } }");

            // act
            OperationExecuter operationExecuter = new OperationExecuter();
            QueryResult       result            = await operationExecuter.ExecuteRequestAsync(
                schema, query, null, null, null, CancellationToken.None);

            // assert
            Assert.Null(result.Errors);
            Assert.Equal(Snapshot.Current(), Snapshot.New(result));
        }
Example #2
0
        public async Task ExecuteGraphiQLIntrospectionQuery()
        {
            // arrange
            Schema       schema = CreateSchema();
            DocumentNode query  = Parser.Default.Parse(
                FileResource.Open("IntrospectionQuery.graphql"));

            // act
            OperationExecuter operationExecuter = new OperationExecuter();
            Stopwatch         sw     = Stopwatch.StartNew();
            QueryResult       result = await operationExecuter.ExecuteRequestAsync(
                schema, query, null, null, null, CancellationToken.None);

            // assert
            Assert.Null(result.Errors);
            Assert.Equal(Snapshot.Current(), Snapshot.New(result));
        }
Example #3
0
        private async Task HandleRequestAsync(
            HttpContext context,
            Schema schema,
            OperationExecuter operationExecuter,
            CancellationToken cancellationToken)
        {
            QueryRequest request = await ReadRequestAsync(context.Request)
                                   .ConfigureAwait(false);

            DocumentNode queryDocument = _parser.Parse(request.Query);

            QueryResult result = await operationExecuter.ExecuteRequestAsync(
                schema, queryDocument, request.OperationName,
                DeserializeVariables(request.Variables), null,
                CancellationToken.None).ConfigureAwait(false);

            await WriteResponseAsync(context.Response, result)
            .ConfigureAwait(false);
        }
Example #4
0
 public static Task <QueryResult> ExecuteAsync(this Schema schema, string query)
 {
     return(_operationExecuter.ExecuteRequestAsync(schema,
                                                   Parser.Default.Parse(query), null, null, null,
                                                   CancellationToken.None));
 }