From aa682eb46228c896e0fc7de364bbe7acd759bfe0 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 29 Oct 2020 15:54:17 -0700 Subject: [PATCH] Remove async void in tests (#447) Fixes: #446 `async void` is almost always a bug in server-side programming. If these tests were doing any networking then they would encounter concurrency bugs or crash in the event of an exception. Co-authored-by: vinayada1 <28875764+vinayada1@users.noreply.github.com> --- .../StateEntryModelBinderTest.cs | 6 ++--- test/Dapr.Client.Test/InvokeApiTest.cs | 14 ++++++------ test/Dapr.Client.Test/StateApiTest.cs | 22 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/test/Dapr.AspNetCore.Test/StateEntryModelBinderTest.cs b/test/Dapr.AspNetCore.Test/StateEntryModelBinderTest.cs index 283e6334..085d4ebe 100644 --- a/test/Dapr.AspNetCore.Test/StateEntryModelBinderTest.cs +++ b/test/Dapr.AspNetCore.Test/StateEntryModelBinderTest.cs @@ -51,7 +51,7 @@ namespace Dapr.AspNetCore.Test // Create Response & Respond var state = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(state, entry); + await SendResponseWithState(state, entry); // Get response and validate await task; @@ -77,7 +77,7 @@ namespace Dapr.AspNetCore.Test // Create Response & Respond var state = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(state, entry); + await SendResponseWithState(state, entry); // Get response and validate await task; @@ -107,7 +107,7 @@ namespace Dapr.AspNetCore.Test }; } - private async void SendResponseWithState(T state, TestHttpClient.Entry entry) + private async Task SendResponseWithState(T state, TestHttpClient.Entry entry) { var stateData = TypeConverters.ToJsonByteString(state); var stateResponse = new GetStateResponse(); diff --git a/test/Dapr.Client.Test/InvokeApiTest.cs b/test/Dapr.Client.Test/InvokeApiTest.cs index 2fd9b590..1f1bfd51 100644 --- a/test/Dapr.Client.Test/InvokeApiTest.cs +++ b/test/Dapr.Client.Test/InvokeApiTest.cs @@ -130,7 +130,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Response() { Name = "Look, I was invoked!" }; - SendResponse(data, entry); + await SendResponse(data, entry); // Validate Response var invokedResponse = await task; @@ -160,7 +160,7 @@ namespace Dapr.Client.Test typeFromRequest.RequestParameter.Should().Be("Hello "); // Create Response & Respond - SendResponse(null, entry); + await SendResponse(null, entry); // Validate Response. var invokedResponse = await task; @@ -218,7 +218,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Response() { Name = "Look, I was invoked!" }; - SendResponse(data, entry); + await SendResponse(data, entry); // Validate Response var invokedResponse = await task; @@ -276,7 +276,7 @@ namespace Dapr.Client.Test // Create Response & Respond var response = new Response() { Name = "Look, I was invoked!" }; - SendResponse(response, entry); + await SendResponse(response, entry); FluentActions.Awaiting(async () => await task).Should().NotThrow(); } @@ -362,7 +362,7 @@ namespace Dapr.Client.Test var json = envelope.Message.Data.Value.ToStringUtf8(); json.Should().Be(JsonSerializer.Serialize(invokeRequest, jsonOptions)); - SendResponse(invokedResponse, entry, jsonOptions); + await SendResponse(invokedResponse, entry, jsonOptions); var response = await task; response.Name.Should().Be(invokedResponse.Name); @@ -407,7 +407,7 @@ namespace Dapr.Client.Test var json = envelope.Message.Data.Value.ToStringUtf8(); json.Should().Be(JsonSerializer.Serialize(invokeRequest, jsonOptions)); - SendResponse(invokedResponse, entry, jsonOptions); + await SendResponse(invokedResponse, entry, jsonOptions); var response = await task; response.Name.Should().Be(invokedResponse.Name); @@ -473,7 +473,7 @@ namespace Dapr.Client.Test response.Name.Should().Be("unexpected"); } - private async void SendResponse(T data, TestHttpClient.Entry entry, JsonSerializerOptions options = null) + private async Task SendResponse(T data, TestHttpClient.Entry entry, JsonSerializerOptions options = null) { var dataAny = TypeConverters.ToAny(data, options); var dataResponse = new InvokeResponse(); diff --git a/test/Dapr.Client.Test/StateApiTest.cs b/test/Dapr.Client.Test/StateApiTest.cs index f2c1d473..b385a0cd 100644 --- a/test/Dapr.Client.Test/StateApiTest.cs +++ b/test/Dapr.Client.Test/StateApiTest.cs @@ -35,7 +35,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(data, entry); + await SendResponseWithState(data, entry); // Get response and validate var state = await task; @@ -58,7 +58,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = "value"; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithBulkState(key, data, entry); + await SendResponseWithBulkState(key, data, entry); // Get response and validate var state = await task; @@ -79,7 +79,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(data, entry, "Test_Etag"); + await SendResponseWithState(data, entry, "Test_Etag"); // Get response and validate var (state, etag) = await task; @@ -101,7 +101,7 @@ namespace Dapr.Client.Test // Create Response & Respond httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(null, entry); + await SendResponseWithState(null, entry); // Get response and validate var state = await task; @@ -129,7 +129,7 @@ namespace Dapr.Client.Test request.Consistency.Should().Be(expectedConsistencyMode); // Create Response & Respond - SendResponseWithState(null, entry); + await SendResponseWithState(null, entry); // Get response and validate var state = await task; @@ -361,7 +361,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(data, entry); + await SendResponseWithState(data, entry); // Get response and validate var state = await task; @@ -382,7 +382,7 @@ namespace Dapr.Client.Test // Create Response & Respond httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(null, entry); + await SendResponseWithState(null, entry); var state = await task; state.Key.Should().Be("test"); @@ -403,7 +403,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(data, entry); + await SendResponseWithState(data, entry); var state = await task; state.Key.Should().Be("test"); @@ -443,7 +443,7 @@ namespace Dapr.Client.Test // Create Response & Respond var data = new Widget() { Size = "small", Color = "yellow", }; httpClient.Requests.TryDequeue(out var entry).Should().BeTrue(); - SendResponseWithState(data, entry); + await SendResponseWithState(data, entry); var state = await task; state.Key.Should().Be("test"); @@ -630,7 +630,7 @@ namespace Dapr.Client.Test request.Options.Consistency.Should().Be(expectedConsistency); } - private async void SendResponseWithState(T state, TestHttpClient.Entry entry, string etag = null) + private async Task SendResponseWithState(T state, TestHttpClient.Entry entry, string etag = null) { var stateDate = TypeConverters.ToJsonByteString(state); var stateResponse = new Autogenerated.GetStateResponse(); @@ -646,7 +646,7 @@ namespace Dapr.Client.Test entry.Completion.SetResult(response); } - private async void SendResponseWithBulkState(string key, string state, TestHttpClient.Entry entry) + private async Task SendResponseWithBulkState(string key, string state, TestHttpClient.Entry entry) { var stateDate = TypeConverters.ToJsonByteString(state); var bulkResponse = new Autogenerated.GetBulkStateResponse();