public async void ReturnsSuccessfulResponseFromRemote() { _fakeHttpClient.For("a url").Return(HttpResponse.Successful(200, "some data")); var logger = new Mock <ILogger <LoggingHttpClient> >().Object; var httpClient = new LoggingHttpClient(_fakeHttpClient, logger); HttpResponse response = await httpClient.Get("a url", new Dictionary <string, string>()); Assert.Equal(200, response.StatusCode); }
public async void HandlesNoResponseFromRemote() { _fakeHttpClient.For("a url").Throw( new AggregateException(new HttpRequestException())); var logger = new Mock <ILogger <LoggingHttpClient> >().Object; var httpClient = new LoggingHttpClient(_fakeHttpClient, logger); HttpResponse response = await httpClient.Get("a url", new Dictionary <string, string>()); Assert.Equal(503, response.StatusCode); Assert.Equal("Failed to invoke the requested resource", response.Error); }
public void HandlesSuccessFromRemote() { _fakeHttpClient.For("a url") .Return(HttpResponse.Successful("some data")); var httpClient = new LoggingHttpClient(_fakeHttpClient, _fakeLogger); HttpResponse response = AsyncTestHelper.Resolve(httpClient.Get("a url")); Assert.Equal("Querying: a url", _fakeLogger.InfoMessage); Assert.Equal("Response: " + response, _fakeLogger.DebugMessage); Assert.Null(_fakeLogger.ErrorMessage); }
public async void DoesNotLogAccessKey() { var urlWithKey = "https://fake.url/spaces/SPACE/entries?access_token=KEY&content_type=topic"; _fakeHttpClient.For(urlWithKey).Return(HttpResponse.Successful("A response")); var httpClient = new LoggingHttpClient(_fakeHttpClient, _fakeLogger); await httpClient.Get(urlWithKey); Assert.DoesNotContain("KEY", _fakeLogger.InfoMessage); Assert.Contains("access_token=*****", _fakeLogger.InfoMessage); Assert.Equal("Querying: https://fake.url/spaces/SPACE/entries?access_token=*****&content_type=topic", _fakeLogger.InfoMessage); }