public GravatarProxyServiceFacts() { _messageHandler = new DelegateHttpMessageHandler(); _features = new Mock <IFeatureFlagService>(); var users = new List <User> { User, UnconfirmedUser, }; _users = new Mock <IEntityRepository <User> >(); _users .Setup(u => u.GetAll()) .Returns(() => users.AsQueryable()); var httpClient = new HttpClient(_messageHandler); var httpClientFactory = new Mock <IHttpClientFactory>(); httpClientFactory .Setup(f => f.CreateClient("gravatar")) .Returns(httpClient); _target = new GravatarProxyService( httpClientFactory.Object, _users.Object, _features.Object, Mock.Of <ILogger <GravatarProxyService> >()); }
public async Task SendAsync_WithCancellationToken_RequestResponseAndCancellationTokenCorrect() { var expectedRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://test.com"); var expectedResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); var expectedCancellationToken = new CancellationToken(); HttpRequestMessage actualRequestMessage = null; SafeWaitHandle actualCancellationTokenWaitHandle = null; var httpMessageHandler = new DelegateHttpMessageHandler((request, token) => { actualRequestMessage = request; actualCancellationTokenWaitHandle = token.WaitHandle.SafeWaitHandle; return(Task.FromResult(expectedResponseMessage)); }); var httpClient = new HttpClient(httpMessageHandler); var response = await httpClient.SendAsync(expectedRequestMessage, expectedCancellationToken); Assert.Same(expectedRequestMessage, actualRequestMessage); Assert.True(expectedCancellationToken.WaitHandle.SafeWaitHandle.DangerousGetHandle() .Equals(actualCancellationTokenWaitHandle.DangerousGetHandle())); Assert.Same(expectedResponseMessage, response); }
public async Task SendAsync_WithOutCancellationToken_RequestResponseAndCancellationTokenCorrect() { var expectedRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://test.com"); var expectedResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); var expectedCancellationToken = new CancellationToken(); HttpRequestMessage actualRequestMessage = null; var httpMessageHandler = new DelegateHttpMessageHandler(request => { actualRequestMessage = request; return(Task.FromResult(expectedResponseMessage)); }); var httpClient = new HttpClient(httpMessageHandler); var response = await httpClient.SendAsync(expectedRequestMessage, expectedCancellationToken); Assert.Same(expectedRequestMessage, actualRequestMessage); Assert.Same(expectedResponseMessage, response); }