public async Task DispatchMultipleQueriesWithVariables() { // arrange IReadOnlyQueryRequest mergedRequest = null; int count = 0; var result = new QueryResult(); result.Data["__0__a"] = "a"; result.Data["__1__a"] = "b"; result.Data["__1__b"] = "c"; var executor = new Mock <IQueryExecutor>(); executor.Setup(t => t.ExecuteAsync( It.IsAny <IReadOnlyQueryRequest>(), It.IsAny <CancellationToken>())) .Returns(new Func <IReadOnlyQueryRequest, CancellationToken, Task <IExecutionResult> >((r, ct) => { count++; mergedRequest = r; return(Task.FromResult <IExecutionResult>(result)); })); var request_a = new QueryRequest( "query a($a: String) { a(b: $a) }") { VariableValues = new Dictionary <string, object> { { "a", "foo" } } }; var request_b = new QueryRequest( "query b { a b }"); var client = new RemoteQueryClient( new EmptyServiceProvider(), executor.Object); // act Task <IExecutionResult> task_a = client.ExecuteAsync(request_a); Task <IExecutionResult> task_b = client.ExecuteAsync(request_b); await client.DispatchAsync(CancellationToken.None); // assert await task_a; await task_b; Assert.Equal(1, count); mergedRequest.MatchSnapshot(); }
public void BuildRequest_OnlyQueryIsSet_RequestHasOnlyQuery() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndOperation_RequestIsCreated() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .SetOperation("bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndInitialValue_RequestIsCreated() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .SetInitialValue(new { a = "123" }) .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndTryAddProperties_PropertyIsSet() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .TryAddProperty("one", "bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndTryAddVariable_VariableIsSet() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .TryAddVariableValue("one", "bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_OnlyQueryDocIsSet_RequestHasOnlyQuery() { // arrange DocumentNode query = Utf8GraphQLParser.Parse("{ foo }"); // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery(query) .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndSetNewProperty_RequestIsCreated() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .SetProperty("one", "bar") .Create(); // assert // one should be bar request.MatchSnapshot(); }
public void BuildRequest_QueryAndTryAddExtension_ExtensionIsNotSet() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .AddExtension("one", "foo") .TryAddExtension("one", "bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndAddVariables_RequestIsCreated() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .AddVariableValue("one", "foo") .AddVariableValue("two", "bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndOperation_RequestIsCreated() { // arrange DocumentNode query = Parser.Default.Parse("query bar { foo }"); // act IReadOnlyQueryRequest request = RemoteQueryRequestBuilder.New() .SetQuery(query) .SetOperation("bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndInitialValue_RequestIsCreated() { // arrange DocumentNode query = Parser.Default.Parse("{ foo }"); // act IReadOnlyQueryRequest request = RemoteQueryRequestBuilder.New() .SetQuery(query) .SetInitialValue(new { a = "123" }) .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndAddVariables_RequestIsCreated() { // arrange DocumentNode query = Parser.Default.Parse("{ foo }"); // act IReadOnlyQueryRequest request = RemoteQueryRequestBuilder.New() .SetQuery(query) .AddVariableValue("one", "foo") .AddVariableValue("two", "bar") .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndServices_RequestIsCreated() { // arrange var service = new { a = "123" }; // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .SetServices(new DictionaryServiceProvider( service.GetType(), service)) .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndResetProperties_RequestIsCreated() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .AddProperty("one", "foo") .AddProperty("two", "bar") .SetProperties(null) .Create(); // assert // no property should be in the request request.MatchSnapshot(); }
public void BuildRequest_QueryAndServices_RequestIsCreated() { // arrange DocumentNode query = Parser.Default.Parse("{ foo }"); var service = new { a = "123" }; // act IReadOnlyQueryRequest request = RemoteQueryRequestBuilder.New() .SetQuery(query) .SetServices(new DictionaryServiceProvider( service.GetType(), service)) .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndSetVariables_RequestIsCreated() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .AddVariableValue("one", "foo") .AddVariableValue("two", "bar") .SetVariableValues(new Dictionary <string, object> { { "three", "baz" } }) .Create(); // assert // only three should be in the request request.MatchSnapshot(); }
public void BuildRequest_QueryAndSetExtensions_RequestIsCreated_1() { // arrange // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .AddExtension("one", "foo") .AddExtension("two", "bar") .SetExtensions(new Dictionary <string, object> { { "three", "baz" } }) .Create(); // assert // only three should exist request.MatchSnapshot(); }
public void BuildRequest_SetAll_RequestIsCreated() { // arrange var service = new { a = "123" }; // act IReadOnlyQueryRequest request = QueryRequestBuilder.New() .SetQuery("{ foo }") .SetOperation("bar") .SetInitialValue(new { a = "456" }) .AddProperty("one", "foo") .AddVariableValue("two", "bar") .SetServices(new DictionaryServiceProvider( service.GetType(), service)) .Create(); // assert request.MatchSnapshot(); }
public void BuildRequest_QueryAndSetProperties_RequestIsCreated() { // arrange DocumentNode query = Parser.Default.Parse("{ foo }"); // act IReadOnlyQueryRequest request = RemoteQueryRequestBuilder.New() .SetQuery(query) .AddProperty("one", "foo") .AddProperty("two", "bar") .SetProperties(new Dictionary <string, object> { { "three", "baz" } }) .Create(); // assert // only three should be in the request request.MatchSnapshot(); }