From cfb2c28975fb16b73341daa92923e387c85a2c3b Mon Sep 17 00:00:00 2001 From: Marty T <120425148+tippmar-nr@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:08:00 -0500 Subject: [PATCH] fix: Refactor to eliminate usage of `.GetAwaiter().GetResult()` in Framework builds. (#2534) (#2535) --- .../DataTransport/Client/HttpClientBase.cs | 4 ++-- .../Client/HttpContentWrapper.cs | 7 +++---- .../Core/DataTransport/Client/HttpResponse.cs | 8 +++---- .../Client/Interfaces/IHttpClient.cs | 4 ++-- .../Client/Interfaces/IHttpContentWrapper.cs | 5 ++--- .../Client/Interfaces/IHttpResponse.cs | 4 ++-- .../Core/DataTransport/Client/NRHttpClient.cs | 6 +++--- .../Client/NRWebRequestClient.cs | 10 ++++----- .../Client/WebRequestClientResponse.cs | 8 +++---- .../Core/DataTransport/HttpCollectorWire.cs | 4 ++-- .../DataTransport/Client/HttpResponseTests.cs | 18 +++++++--------- .../DataTransport/Client/NRHttpClientTests.cs | 6 +++--- .../Client/NRWebRequestClientTests.cs | 21 ++++++++----------- .../Client/WebRequestClientResponseTests.cs | 20 +++++++++--------- .../DataTransport/HttpCollectorWireTests.cs | 20 +++++++++--------- 15 files changed, 68 insertions(+), 77 deletions(-) diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpClientBase.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpClientBase.cs index 858d64c2bd..99048d3d83 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpClientBase.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpClientBase.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 using System; @@ -23,7 +23,7 @@ protected HttpClientBase(IWebProxy proxy) _proxy = proxy; } - public abstract Task SendAsync(IHttpRequest request); + public abstract IHttpResponse Send(IHttpRequest request); public virtual void Dispose() { diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpContentWrapper.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpContentWrapper.cs index 5a509753f6..57f55359dc 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpContentWrapper.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpContentWrapper.cs @@ -1,10 +1,9 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 #if !NETFRAMEWORK using System.IO; using System.Net.Http; -using System.Threading.Tasks; using NewRelic.Agent.Core.DataTransport.Client.Interfaces; namespace NewRelic.Agent.Core.DataTransport.Client @@ -21,9 +20,9 @@ public HttpContentWrapper(HttpContent httpContent) _httpContent = httpContent; } - public Task ReadAsStreamAsync() + public Stream ReadAsStream() { - return _httpContent.ReadAsStreamAsync(); + return _httpContent.ReadAsStreamAsync().GetAwaiter().GetResult(); } public IHttpContentHeadersWrapper Headers => new HttpContentHeadersWrapper(_httpContent.Headers); diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpResponse.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpResponse.cs index 7d90fe5698..d657cdd6b1 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpResponse.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/HttpResponse.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 #if !NETFRAMEWORK @@ -28,7 +28,7 @@ public HttpResponse(Guid requestGuid, IHttpResponseMessageWrapper httpResponseMe _httpResponseMessageWrapper = httpResponseMessageWrapper; } - public async Task GetContentAsync() + public string GetContent() { try { @@ -37,7 +37,7 @@ public async Task GetContentAsync() return Constants.EmptyResponseBody; } - var responseStream = await _httpResponseMessageWrapper.Content.ReadAsStreamAsync(); + var responseStream = _httpResponseMessageWrapper.Content.ReadAsStream(); var contentTypeEncoding = _httpResponseMessageWrapper.Content.Headers.ContentEncoding; if (contentTypeEncoding.Contains("gzip")) @@ -48,7 +48,7 @@ public async Task GetContentAsync() using (responseStream) using (var reader = new StreamReader(responseStream, Encoding.UTF8)) { - var responseBody = await reader.ReadLineAsync(); + var responseBody = reader.ReadLineAsync().GetAwaiter().GetResult(); if (responseBody != null) { diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpClient.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpClient.cs index 87d9b87ef3..f5488f693f 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpClient.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpClient.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 using System; @@ -8,6 +8,6 @@ namespace NewRelic.Agent.Core.DataTransport.Client.Interfaces { public interface IHttpClient : IDisposable { - Task SendAsync(IHttpRequest request); + IHttpResponse Send(IHttpRequest request); } } diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpContentWrapper.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpContentWrapper.cs index db506231b7..0948bdeae8 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpContentWrapper.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpContentWrapper.cs @@ -1,8 +1,7 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 using System.IO; -using System.Threading.Tasks; namespace NewRelic.Agent.Core.DataTransport.Client.Interfaces { @@ -12,7 +11,7 @@ namespace NewRelic.Agent.Core.DataTransport.Client.Interfaces /// public interface IHttpContentWrapper { - Task ReadAsStreamAsync(); + Stream ReadAsStream(); IHttpContentHeadersWrapper Headers { get; } } } diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpResponse.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpResponse.cs index 16f03803b3..bfe711c897 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpResponse.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/Interfaces/IHttpResponse.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 using System; @@ -11,6 +11,6 @@ public interface IHttpResponse : IDisposable { bool IsSuccessStatusCode { get; } HttpStatusCode StatusCode { get; } - Task GetContentAsync(); + string GetContent(); } } diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRHttpClient.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRHttpClient.cs index b6f4203ea0..5c88c5be36 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRHttpClient.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRHttpClient.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 #if !NETFRAMEWORK @@ -32,7 +32,7 @@ public NRHttpClient(IWebProxy proxy, IConfiguration configuration) : base(proxy) _httpClientWrapper = new HttpClientWrapper(httpClient, (int)configuration.CollectorTimeout); } - public override async Task SendAsync(IHttpRequest request) + public override IHttpResponse Send(IHttpRequest request) { try { @@ -65,7 +65,7 @@ public override async Task SendAsync(IHttpRequest request) req.Content.Headers.Add(contentHeader.Key, contentHeader.Value); } - var response = await _httpClientWrapper.SendAsync(req); + var response = _httpClientWrapper.SendAsync(req).GetAwaiter().GetResult(); var httpResponse = new HttpResponse(request.RequestGuid, response); return httpResponse; diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRWebRequestClient.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRWebRequestClient.cs index 13b787a243..d839d25dcf 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRWebRequestClient.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/NRWebRequestClient.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 #if NETFRAMEWORK @@ -25,7 +25,7 @@ public NRWebRequestClient(IWebProxy proxy, IConfiguration configuration) : base( _configuration = configuration; } - public override async Task SendAsync(IHttpRequest request) + public override IHttpResponse Send(IHttpRequest request) { try { @@ -61,12 +61,10 @@ public override async Task SendAsync(IHttpRequest request) throw new NullReferenceException("outputStream"); } - // .ConfigureAwait(false) is required here for some reason - await outputStream.WriteAsync(request.Content.PayloadBytes, 0, (int)_httpWebRequest.ContentLength).ConfigureAwait(false); + outputStream.Write(request.Content.PayloadBytes, 0, (int)_httpWebRequest.ContentLength); } - // .ConfigureAwait(false) is required here for some reason - var resp = (HttpWebResponse)await _httpWebRequest.GetResponseAsync().ConfigureAwait(false); + var resp = (HttpWebResponse)_httpWebRequest.GetResponse(); return new WebRequestClientResponse(request.RequestGuid, resp); } diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/WebRequestClientResponse.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/WebRequestClientResponse.cs index 18a7380c90..b03fc38b48 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/Client/WebRequestClientResponse.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/Client/WebRequestClientResponse.cs @@ -1,4 +1,4 @@ -// Copyright 2020 New Relic, Inc. All rights reserved. +// Copyright 2020 New Relic, Inc. All rights reserved. // SPDX-License-Identifier: Apache-2.0 #if NETFRAMEWORK using System; @@ -26,7 +26,7 @@ public WebRequestClientResponse(Guid requestGuid, HttpWebResponse response) _response = response; } - public Task GetContentAsync() + public string GetContent() { try { @@ -51,14 +51,14 @@ public Task GetContentAsync() using (var reader = new StreamReader(responseStream, Encoding.UTF8)) { var responseBody = reader.ReadLine(); - return Task.FromResult(responseBody ?? Constants.EmptyResponseBody); + return responseBody ?? Constants.EmptyResponseBody; } } catch (Exception ex) { Log.Error(ex, "Request({0}): Unable to parse response body.", _requestGuid); - return Task.FromResult(Constants.EmptyResponseBody); + return Constants.EmptyResponseBody; } } diff --git a/src/Agent/NewRelic/Agent/Core/DataTransport/HttpCollectorWire.cs b/src/Agent/NewRelic/Agent/Core/DataTransport/HttpCollectorWire.cs index 34c62c5bb9..e93364954c 100644 --- a/src/Agent/NewRelic/Agent/Core/DataTransport/HttpCollectorWire.cs +++ b/src/Agent/NewRelic/Agent/Core/DataTransport/HttpCollectorWire.cs @@ -62,9 +62,9 @@ public string SendData(string method, ConnectionInfo connectionInfo, string seri foreach (var header in _requestHeadersMap) request.Headers.Add(header.Key, header.Value); - using var response = httpClient.SendAsync(request).GetAwaiter().GetResult(); + using var response = httpClient.Send(request); - var responseContent = response.GetContentAsync().GetAwaiter().GetResult(); + var responseContent = response.GetContent(); if (!response.IsSuccessStatusCode) { diff --git a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/HttpResponseTests.cs b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/HttpResponseTests.cs index 195c6758b7..4223c734ea 100644 --- a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/HttpResponseTests.cs +++ b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/HttpResponseTests.cs @@ -4,14 +4,12 @@ #if !NETFRAMEWORK using System; using System.Collections.Generic; -using System.Net.Http; using System.IO; using System.IO.Compression; using Telerik.JustMock; using NUnit.Framework; using System.Net; using System.Text; -using System.Threading.Tasks; using NewRelic.Agent.Core.DataTransport.Client.Interfaces; using Telerik.JustMock.Helpers; @@ -40,30 +38,30 @@ public void TearDown() } [Test] - public async Task GetContentAsync_ReturnsEmptyResponseBody_WhenContentIsNull() + public void GetContent_ReturnsEmptyResponseBody_WhenContentIsNull() { _mockHttpResponseMessage.Arrange(message => message.Content).Returns((IHttpContentWrapper)null); - var result = await _httpResponse.GetContentAsync(); + var result = _httpResponse.GetContent(); Assert.That(result, Is.EqualTo(Constants.EmptyResponseBody)); } [Test] - public async Task GetContentAsync_ReturnsContent_WhenContentIsNotNull() + public void GetContent_ReturnsContent_WhenContentIsNotNull() { var mockContent = Mock.Create(); var stream = new MemoryStream(Encoding.UTF8.GetBytes(TestResponseBody)); _mockHttpResponseMessage.Arrange(message => message.Content).Returns(mockContent); - mockContent.Arrange(content => content.ReadAsStreamAsync()).ReturnsAsync((Stream)stream); + mockContent.Arrange(content => content.ReadAsStream()).Returns(stream); - var result = await _httpResponse.GetContentAsync(); + var result = _httpResponse.GetContent(); Assert.That(result, Is.EqualTo(TestResponseBody)); } [Test] - public async Task GetContentAsync_HandlesGzipDecompression_WhenContentEncodingIsGzip() + public void GetContent_HandlesGzipDecompression_WhenContentEncodingIsGzip() { var compressedStream = new MemoryStream(); using (var gzipStream = new GZipStream(compressedStream, CompressionMode.Compress, true)) @@ -79,9 +77,9 @@ public async Task GetContentAsync_HandlesGzipDecompression_WhenContentEncodingIs var mockHeaders = Mock.Create(); mockContent.Arrange(content => content.Headers).Returns(mockHeaders); mockHeaders.Arrange(headers => headers.ContentEncoding).Returns(new List { "gzip" }); - mockContent.Arrange(content => content.ReadAsStreamAsync()).ReturnsAsync((Stream)compressedStream); + mockContent.Arrange(content => content.ReadAsStream()).Returns(compressedStream); - var result = await _httpResponse.GetContentAsync(); + var result = _httpResponse.GetContent(); Assert.That(result, Is.EqualTo(TestResponseBody)); } diff --git a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRHttpClientTests.cs b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRHttpClientTests.cs index 0e9656cdd6..23ad71b34c 100644 --- a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRHttpClientTests.cs +++ b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRHttpClientTests.cs @@ -51,7 +51,7 @@ public void TearDown() _mockHttpClientWrapper.Dispose(); } [Test] - public async Task SendAsync_ReturnsResponse_WhenSendAsyncSucceeds() + public void Send_ReturnsResponse_WhenSendAsyncSucceeds() { // Arrange var request = CreateHttpRequest(); @@ -64,7 +64,7 @@ public async Task SendAsync_ReturnsResponse_WhenSendAsyncSucceeds() .ReturnsAsync(mockHttpResponseMessage); // Act - var response = await _client.SendAsync(request); + var response = _client.Send(request); // Assert Assert.That(response, Is.Not.Null); @@ -80,7 +80,7 @@ public void SendAsync_ThrowsHttpRequestException_WhenSendAsyncThrows() .Throws(); // Act & Assert - Assert.ThrowsAsync(() => _client.SendAsync(request)); + Assert.Throws(() => _client.Send(request)); } private IHttpRequest CreateHttpRequest() diff --git a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRWebRequestClientTests.cs b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRWebRequestClientTests.cs index 5336ea8caa..8687b0c4f5 100644 --- a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRWebRequestClientTests.cs +++ b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/NRWebRequestClientTests.cs @@ -5,13 +5,10 @@ using System; using System.IO; using System.Net; -using System.Threading.Tasks; using NewRelic.Agent.Configuration; using NewRelic.Agent.Core.DataTransport.Client.Interfaces; using NUnit.Framework; using Telerik.JustMock; -using Telerik.JustMock.AutoMock.Ninject.Activation; -using Telerik.JustMock.Helpers; namespace NewRelic.Agent.Core.DataTransport.Client { @@ -52,7 +49,7 @@ public void TearDown() } [Test] - public async Task SendAsync_ShouldReturnValidResponse_WhenWebRequestIsSuccessful() + public void Send_ShouldReturnValidResponse_WhenWebRequestIsSuccessful() { // Arrange var fakeResponse = Mock.Create(); @@ -60,12 +57,12 @@ public async Task SendAsync_ShouldReturnValidResponse_WhenWebRequestIsSuccessful { var mockWebRequest = Mock.Create(); Mock.Arrange(() => mockWebRequest.GetRequestStream()).Returns(new MemoryStream()); - Mock.Arrange(() => mockWebRequest.GetResponseAsync()).ReturnsAsync((WebResponse)fakeResponse); + Mock.Arrange(() => mockWebRequest.GetResponse()).Returns((WebResponse)fakeResponse); return mockWebRequest; }); // Act - var response = await _client.SendAsync(_request); + var response = _client.Send(_request); // Assert Assert.That(response, Is.Not.Null); @@ -83,7 +80,7 @@ public void SendAsync_ShouldThrow_WhenNullOutputStream() }); // Act & Assert - Assert.ThrowsAsync(() => _client.SendAsync(_request)); + Assert.Throws(() => _client.Send(_request)); } [Test] @@ -95,15 +92,15 @@ public void SendAsync_ThrowsWebException_WhenWebExceptionResponseIsNull() var mockWebRequest = Mock.Create(); Mock.Arrange(() => mockWebRequest.Address).Returns(new Uri("https://sometesthost.com")); var webException = new WebException("testing"); - Mock.Arrange(() => mockWebRequest.GetResponseAsync()).Throws(webException); + Mock.Arrange(() => mockWebRequest.GetResponse()).Throws(webException); return mockWebRequest; }); // Act & Assert - Assert.ThrowsAsync(() => _client.SendAsync(_request)); + Assert.Throws(() => _client.Send(_request)); } [Test] - public async Task SendAsync_ReturnsResponse_WhenWebExceptionResponseIsNotNull() + public void Send_ReturnsResponse_WhenWebExceptionResponseIsNotNull() { // Arrange _client.SetHttpWebRequestFunc(uri => @@ -115,12 +112,12 @@ public async Task SendAsync_ReturnsResponse_WhenWebExceptionResponseIsNotNull() Mock.Arrange(() => mockHttpWebResponse.StatusCode).Returns(HttpStatusCode.BadRequest); Mock.Arrange(() => mockHttpWebResponse.StatusDescription).Returns("Bad Request"); var webException = new WebException("testing", null, WebExceptionStatus.SendFailure,mockHttpWebResponse); - Mock.Arrange(() => mockWebRequest.GetResponseAsync()).Throws(webException); + Mock.Arrange(() => mockWebRequest.GetResponse()).Throws(webException); return mockWebRequest; }); // Act - var response = await _client.SendAsync(_request); + var response = _client.Send(_request); // Assert Assert.That(response, Is.Not.Null); diff --git a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/WebRequestClientResponseTests.cs b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/WebRequestClientResponseTests.cs index 8c2e366f6e..1bd79e9c0f 100644 --- a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/WebRequestClientResponseTests.cs +++ b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/Client/WebRequestClientResponseTests.cs @@ -33,7 +33,7 @@ public void TearDown() } [Test] - public async Task GetContentAsync_ShouldReturnValidResponse_WhenResponseStreamIsNotNullAndNotGzipped() + public void GetContent_ShouldReturnValidResponse_WhenResponseStreamIsNotNullAndNotGzipped() { // Arrange var fakeStream = new MemoryStream(Encoding.UTF8.GetBytes("Test Response")); @@ -41,28 +41,28 @@ public async Task GetContentAsync_ShouldReturnValidResponse_WhenResponseStreamIs var webRequestClientResponse = new WebRequestClientResponse(_requestGuid, _response); // Act - var content = await webRequestClientResponse.GetContentAsync(); + var content = webRequestClientResponse.GetContent(); // Assert Assert.That(content, Is.EqualTo("Test Response")); } [Test] - public async Task GetContentAsync_ShouldReturnEmpty_WhenResponseStreamIsNull() + public void GetContent_ShouldReturnEmpty_WhenResponseStreamIsNull() { // Arrange Mock.Arrange(() => _response.GetResponseStream()).Returns(() => null); var webRequestClientResponse = new WebRequestClientResponse(_requestGuid, _response); // Act - var content = await webRequestClientResponse.GetContentAsync(); + var content = webRequestClientResponse.GetContent(); // Assert Assert.That(content, Is.EqualTo(Constants.EmptyResponseBody)); } [Test] - public async Task GetContentAsync_ShouldReturnEmpty_WhenResponseHasException() + public void GetContent_ShouldReturnEmpty_WhenResponseHasException() { // Arrange var fakeStream = new ExceptionThrowingStream(); @@ -70,13 +70,13 @@ public async Task GetContentAsync_ShouldReturnEmpty_WhenResponseHasException() var webRequestClientResponse = new WebRequestClientResponse(_requestGuid, _response); // Act - var content = await webRequestClientResponse.GetContentAsync(); + var content = webRequestClientResponse.GetContent(); // Assert Assert.That(content, Is.EqualTo(Constants.EmptyResponseBody)); } [Test] - public async Task GetContentAsync_ShouldReturnEmpty_WhenResponseHeadersIsNull() + public void GetContent_ShouldReturnEmpty_WhenResponseHeadersIsNull() { // Arrange Mock.Arrange(() => _response.GetResponseStream()).Returns(new MemoryStream()); // Any dummy stream @@ -84,14 +84,14 @@ public async Task GetContentAsync_ShouldReturnEmpty_WhenResponseHeadersIsNull() var webRequestClientResponse = new WebRequestClientResponse(_requestGuid, _response); // Act - var content = await webRequestClientResponse.GetContentAsync(); + var content = webRequestClientResponse.GetContent(); // Assert Assert.That(content, Is.EqualTo(Constants.EmptyResponseBody)); } [Test] - public async Task GetContentAsync_ShouldReturnDecompressedResponse_WhenResponseIsGzipped() + public void GetContent_ShouldReturnDecompressedResponse_WhenResponseIsGzipped() { // Arrange var originalText = "Test GZIP Response"; @@ -102,7 +102,7 @@ public async Task GetContentAsync_ShouldReturnDecompressedResponse_WhenResponseI var webRequestClientResponse = new WebRequestClientResponse(_requestGuid, _response); // Act - var content = await webRequestClientResponse.GetContentAsync(); + var content = webRequestClientResponse.GetContent(); // Assert Assert.That(content, Is.EqualTo(originalText)); diff --git a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/HttpCollectorWireTests.cs b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/HttpCollectorWireTests.cs index 66147aa956..b7508f69b6 100644 --- a/tests/Agent/UnitTests/Core.UnitTest/DataTransport/HttpCollectorWireTests.cs +++ b/tests/Agent/UnitTests/Core.UnitTest/DataTransport/HttpCollectorWireTests.cs @@ -59,10 +59,10 @@ public void SendData_ShouldSendRequestWithValidParameters(bool usePutForSend) var mockHttpResponse = Mock.Create(); Mock.Arrange(() => mockHttpResponse.StatusCode).Returns(HttpStatusCode.OK); Mock.Arrange(() => mockHttpResponse.IsSuccessStatusCode).Returns(true); - Mock.Arrange(() => mockHttpResponse.GetContentAsync()).ReturnsAsync(expected); + Mock.Arrange(() => mockHttpResponse.GetContent()).Returns(expected); var mockHttpClient = Mock.Create(); - Mock.Arrange(() => mockHttpClient.SendAsync(Arg.IsAny())).ReturnsAsync(mockHttpResponse); + Mock.Arrange(() => mockHttpClient.Send(Arg.IsAny())).Returns(mockHttpResponse); Mock.Arrange(() => _httpClientFactory.CreateClient(Arg.IsAny(), Arg.IsAny())).Returns(mockHttpClient); @@ -91,10 +91,10 @@ public void SendData_ShouldThrowHttpRequestException_WhenRequestThrows() var mockHttpResponse = Mock.Create(); Mock.Arrange(() => mockHttpResponse.StatusCode).Returns(HttpStatusCode.OK); Mock.Arrange(() => mockHttpResponse.IsSuccessStatusCode).Returns(true); - Mock.Arrange(() => mockHttpResponse.GetContentAsync()).ReturnsAsync(expected); + Mock.Arrange(() => mockHttpResponse.GetContent()).Returns(expected); var mockHttpClient = Mock.Create(); - Mock.Arrange(() => mockHttpClient.SendAsync(Arg.IsAny())).Throws(new HttpRequestException()); + Mock.Arrange(() => mockHttpClient.Send(Arg.IsAny())).Throws(new HttpRequestException()); Mock.Arrange(() => _httpClientFactory.CreateClient(Arg.IsAny(), Arg.IsAny())).Returns(mockHttpClient); @@ -121,10 +121,10 @@ public void SendData_ShouldThrowHttpException_WhenResponse_IsNotSuccessful() var mockHttpResponse = Mock.Create(); Mock.Arrange(() => mockHttpResponse.StatusCode).Returns(HttpStatusCode.InternalServerError); Mock.Arrange(() => mockHttpResponse.IsSuccessStatusCode).Returns(false); - Mock.Arrange(() => mockHttpResponse.GetContentAsync()).ReturnsAsync(expected); + Mock.Arrange(() => mockHttpResponse.GetContent()).Returns(expected); var mockHttpClient = Mock.Create(); - Mock.Arrange(() => mockHttpClient.SendAsync(Arg.IsAny())).ReturnsAsync(mockHttpResponse); + Mock.Arrange(() => mockHttpClient.Send(Arg.IsAny())).Returns(mockHttpResponse); Mock.Arrange(() => _httpClientFactory.CreateClient(Arg.IsAny(), Arg.IsAny())).Returns(mockHttpClient); @@ -153,10 +153,10 @@ public void SendData_ShouldDropPayload_WhenPayloadSizeExceedsMaxSize() var mockHttpResponse = Mock.Create(); Mock.Arrange(() => mockHttpResponse.StatusCode).Returns(HttpStatusCode.OK); Mock.Arrange(() => mockHttpResponse.IsSuccessStatusCode).Returns(true); - Mock.Arrange(() => mockHttpResponse.GetContentAsync()).ReturnsAsync(expected); + Mock.Arrange(() => mockHttpResponse.GetContent()).Returns(expected); var mockHttpClient = Mock.Create(); - Mock.Arrange(() => mockHttpClient.SendAsync(Arg.IsAny())).ReturnsAsync(mockHttpResponse); + Mock.Arrange(() => mockHttpClient.Send(Arg.IsAny())).Returns(mockHttpResponse); Mock.Arrange(() => _httpClientFactory.CreateClient(Arg.IsAny(), Arg.IsAny())).Returns(mockHttpClient); @@ -187,10 +187,10 @@ public void SendData_ShouldNotCallAuditLog_UnlessAuditLogIsEnabled(bool isEnable var mockHttpResponse = Mock.Create(); Mock.Arrange(() => mockHttpResponse.StatusCode).Returns(HttpStatusCode.OK); Mock.Arrange(() => mockHttpResponse.IsSuccessStatusCode).Returns(true); - Mock.Arrange(() => mockHttpResponse.GetContentAsync()).ReturnsAsync(expected); + Mock.Arrange(() => mockHttpResponse.GetContent()).Returns(expected); var mockHttpClient = Mock.Create(); - Mock.Arrange(() => mockHttpClient.SendAsync(Arg.IsAny())).ReturnsAsync(mockHttpResponse); + Mock.Arrange(() => mockHttpClient.Send(Arg.IsAny())).Returns(mockHttpResponse); Mock.Arrange(() => _httpClientFactory.CreateClient(Arg.IsAny(), Arg.IsAny())).Returns(mockHttpClient);