private void AssertThrowsPoeTradeApiCommunicationExceptionIfHttpResponseDoesNotReturnSuccessStatusCode(AsyncTestDelegate asyncTestDelegate, string endpoint, string jsonContent = "") { HttpStatusCode httpStatusCode = HttpStatusCode.BadRequest; HttpResponseMessage httpResponse = new HttpResponseMessage { Content = new StringContent(""), StatusCode = httpStatusCode }; this.poeTradeApiJsonSerializerMock.Setup(x => x.Serialize(It.IsAny <SearchQueryRequest>())) .Returns(jsonContent); this.httpClientWrapperMock.Setup(x => x.GetAsync(It.Is <string>(s => s.Contains(endpoint)), It.IsAny <CancellationToken>())) .ReturnsAsync(httpResponse); this.httpClientWrapperMock.Setup(x => x.PostAsync(It.Is <string>(s => s.Contains(endpoint)), It.IsAny <HttpContent>(), It.IsAny <CancellationToken>())) .ReturnsAsync(httpResponse); PoeTradeApiCommunicationException exception = Assert.CatchAsync <PoeTradeApiCommunicationException>(asyncTestDelegate); Assert.That(exception.Message, Contains.Substring(httpStatusCode.ToString())); Assert.That(exception.Message, Contains.Substring(endpoint)); if (!string.IsNullOrEmpty(jsonContent)) { Assert.That(exception.Message, Contains.Substring(jsonContent)); } }
private void GetListingsAsyncShouldThrowPoeTradeApiCommunicationExceptionIfAnyExceptionOccurs(AsyncTestDelegate asyncTestDelegate) { Exception expectedInnerException = new Exception(); this.poeTradeApiJsonSerializerMock.Setup(x => x.Deserialize <SearchQueryResult>(It.IsAny <string>())) .Throws(expectedInnerException); PoeTradeApiCommunicationException exception = Assert.CatchAsync <PoeTradeApiCommunicationException>(asyncTestDelegate); Assert.That(exception.InnerException, Is.EqualTo(expectedInnerException)); }