using Newtonsoft.Json; using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using Tuitio.PublishedLanguage.Dto; namespace Tuitio.Wrapper.Tests.Stubs { public class HttpMessageHandlerStub : HttpMessageHandler where T : class { private readonly Envelope _response; public HttpMessageHandlerStub(Envelope response) { _response = response ?? throw new ArgumentNullException(nameof(response)); } protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var httpResponseMessage = new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(_response)) }; return Task.FromResult(httpResponseMessage); } } }