Skip to content

Commit 9fb7fbd

Browse files
authored
Merge pull request #182 from graphql-dotnet/optimize-integration-tests
Optimize integration tests
2 parents a0e9a16 + 0a7f91d commit 9fb7fbd

File tree

30 files changed

+949
-767
lines changed

30 files changed

+949
-767
lines changed

.github/workflows/branches-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Branch workflow
2-
on:
2+
on:
33
push:
44
branches-ignore:
55
- '**'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.idea/
22
.vs/
3+
.vscode/
34
bin/
45
obj/
56
*.user

src/GraphQL.Client.Abstractions.Websocket/IGraphQLWebsocketJsonSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace GraphQL.Client.Abstractions.Websocket
1010
public interface IGraphQLWebsocketJsonSerializer: IGraphQLJsonSerializer {
1111
byte[] SerializeToBytes(GraphQLWebSocketRequest request);
1212

13-
Task<WebsocketResponseWrapper> DeserializeToWebsocketResponseWrapperAsync(Stream stream);
13+
Task<WebsocketMessageWrapper> DeserializeToWebsocketResponseWrapperAsync(Stream stream);
1414
GraphQLWebSocketResponse<GraphQLResponse<TResponse>> DeserializeToWebsocketResponse<TResponse>(byte[] bytes);
1515

1616
}

src/GraphQL.Client.Abstractions.Websocket/WebsocketResponseWrapper.cs renamed to src/GraphQL.Client.Abstractions.Websocket/WebsocketMessageWrapper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Runtime.Serialization;
22

33
namespace GraphQL.Client.Abstractions.Websocket {
4-
public class WebsocketResponseWrapper : GraphQLWebSocketResponse {
4+
public class WebsocketMessageWrapper : GraphQLWebSocketResponse {
55

66
[IgnoreDataMember]
77
public byte[] MessageBytes { get; set; }

src/GraphQL.Client.LocalExecution/GraphQLLocalExecutionClient.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ public IObservable<GraphQLResponse<TResponse>> CreateSubscriptionStream<TRespons
7676
#region Private Methods
7777

7878
private async Task<GraphQLResponse<TResponse>> ExecuteQueryAsync<TResponse>(GraphQLRequest request, CancellationToken cancellationToken) {
79-
var executionResult = await ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
80-
return await ExecutionResultToGraphQLResponse<TResponse>(executionResult, cancellationToken).ConfigureAwait(false);
79+
var executionResult = await ExecuteAsync(request, cancellationToken);
80+
return await ExecutionResultToGraphQLResponse<TResponse>(executionResult, cancellationToken);
8181
}
8282
private async Task<IObservable<GraphQLResponse<TResponse>>> ExecuteSubscriptionAsync<TResponse>(GraphQLRequest request, CancellationToken cancellationToken = default) {
83-
var result = await ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
83+
var result = await ExecuteAsync(request, cancellationToken);
8484
return ((SubscriptionExecutionResult)result).Streams?.Values.SingleOrDefault()?
8585
.SelectMany(executionResult => Observable.FromAsync(token => ExecutionResultToGraphQLResponse<TResponse>(executionResult, token)));
8686
}
@@ -100,7 +100,7 @@ private async Task<ExecutionResult> ExecuteAsync(GraphQLRequest request, Cancell
100100
options.Query = request.Query;
101101
options.Inputs = inputs;
102102
options.CancellationToken = cancellationToken;
103-
}).ConfigureAwait(false);
103+
});
104104

105105
return result;
106106
}

src/GraphQL.Client.Serializer.Newtonsoft/NewtonsoftJsonSerializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ public byte[] SerializeToBytes(Abstractions.Websocket.GraphQLWebSocketRequest re
4242
return Encoding.UTF8.GetBytes(json);
4343
}
4444

45-
public Task<WebsocketResponseWrapper> DeserializeToWebsocketResponseWrapperAsync(Stream stream) {
46-
return DeserializeFromUtf8Stream<WebsocketResponseWrapper>(stream);
45+
public Task<WebsocketMessageWrapper> DeserializeToWebsocketResponseWrapperAsync(Stream stream) {
46+
return DeserializeFromUtf8Stream<WebsocketMessageWrapper>(stream);
4747
}
4848

4949
public GraphQLWebSocketResponse<GraphQLResponse<TResponse>> DeserializeToWebsocketResponse<TResponse>(byte[] bytes) {

src/GraphQL.Client.Serializer.SystemTextJson/SystemTextJsonSerializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ public byte[] SerializeToBytes(Abstractions.Websocket.GraphQLWebSocketRequest re
4545
return JsonSerializer.SerializeToUtf8Bytes(new GraphQLWebSocketRequest(request), Options);
4646
}
4747

48-
public Task<WebsocketResponseWrapper> DeserializeToWebsocketResponseWrapperAsync(Stream stream) {
49-
return JsonSerializer.DeserializeAsync<WebsocketResponseWrapper>(stream, Options).AsTask();
48+
public Task<WebsocketMessageWrapper> DeserializeToWebsocketResponseWrapperAsync(Stream stream) {
49+
return JsonSerializer.DeserializeAsync<WebsocketMessageWrapper>(stream, Options).AsTask();
5050
}
5151

5252
public GraphQLWebSocketResponse<GraphQLResponse<TResponse>> DeserializeToWebsocketResponse<TResponse>(byte[] bytes) {

src/GraphQL.Client/GraphQLHttpClient.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Concurrent;
3+
using System.Diagnostics;
34
using System.Net.Http;
45
using System.Text;
56
using System.Threading;
@@ -65,7 +66,7 @@ public GraphQLHttpClient(GraphQLHttpClientOptions options, HttpClient httpClient
6566
/// <inheritdoc />
6667
public Task<GraphQLResponse<TResponse>> SendQueryAsync<TResponse>(GraphQLRequest request, CancellationToken cancellationToken = default) {
6768
return Options.UseWebSocketForQueriesAndMutations
68-
? this.graphQlHttpWebSocket.SendRequest<TResponse>(request, this, cancellationToken)
69+
? this.graphQlHttpWebSocket.SendRequest<TResponse>(request, cancellationToken)
6970
: this.SendHttpPostRequestAsync<TResponse>(request, cancellationToken);
7071
}
7172

@@ -84,7 +85,7 @@ public IObservable<GraphQLResponse<TResponse>> CreateSubscriptionStream<TRespons
8485
if (subscriptionStreams.ContainsKey(key))
8586
return (IObservable<GraphQLResponse<TResponse>>)subscriptionStreams[key];
8687

87-
var observable = graphQlHttpWebSocket.CreateSubscriptionStream<TResponse>(request, this, cancellationToken: cancellationTokenSource.Token);
88+
var observable = graphQlHttpWebSocket.CreateSubscriptionStream<TResponse>(request);
8889

8990
subscriptionStreams.TryAdd(key, observable);
9091
return observable;
@@ -100,7 +101,7 @@ public IObservable<GraphQLResponse<TResponse>> CreateSubscriptionStream<TRespons
100101
if (subscriptionStreams.ContainsKey(key))
101102
return (IObservable<GraphQLResponse<TResponse>>)subscriptionStreams[key];
102103

103-
var observable = graphQlHttpWebSocket.CreateSubscriptionStream<TResponse>(request, this, exceptionHandler, cancellationTokenSource.Token);
104+
var observable = graphQlHttpWebSocket.CreateSubscriptionStream<TResponse>(request, exceptionHandler);
104105
subscriptionStreams.TryAdd(key, observable);
105106
return observable;
106107
}
@@ -164,9 +165,10 @@ public void Dispose() {
164165

165166
private void _dispose() {
166167
disposed = true;
168+
Debug.WriteLine($"disposing GraphQLHttpClient on endpoint {Options.EndPoint}");
169+
cancellationTokenSource.Cancel();
167170
this.HttpClient.Dispose();
168171
this.graphQlHttpWebSocket.Dispose();
169-
cancellationTokenSource.Cancel();
170172
cancellationTokenSource.Dispose();
171173
}
172174

0 commit comments

Comments
 (0)